Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
171 views

Terminal Programming SP4 2015

Uploaded by

Rommel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views

Terminal Programming SP4 2015

Uploaded by

Rommel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 683

Agilis® 3 91x

Terminal Programming Manual


Copyright ©Diebold, Incorporated
TP-821288-001Q PD 6465
June 2015

CONFIDENTIAL - Trade Secret Material


Only Diebold and entities granted an express written license by Diebold may possess or use
this material. Unauthorized possession or use is illegal and is punishable by fine and/or
imprisonment.

Important - click here for terms and conditions governing the use of this document.

Document History
Document
Number Date Remarks
TP-821288-001C 3/2010 Agilis 91x version 3.0
TP-821288-001D 12/2010 Agilis 3 91x SP1
TP-821288-001E 2/2011 Minor updates to Agilis 3 91x SP1
TP-821288-001F 5/2011 Minor updates
TP-821288-001G 8/2011 Updated to add Smart Engine features for Agilis 3 91x SP1 with
Component Set 4, or later.
TP-821288-001H 5/2012 Updates for Agilis 3 91x SP2 release
TP-821288-001I 12/2012 Minor updates
TP-821288-001J 4/2013 Updated for Agilis 3 91x SP3 release
TP-821288-001K 7/2013 Updated for RPQ 2013-78, HF 13143 and other minor updates
TP-821288-001L 2/2014 Updated for HF 13509 and other minor updates
TP-821288-001M 4/2014 Updated for WCR DBD01946342
TP-821288-001N 11/2014 Updated for Agilis 3 91x SP4 release
TP-821288-001O 3/2015 Updated for multiple change requests
TP-821288-001P 4/2015 Updated for multiple change requests
TP-821288-001Q 6/2015 Updated for HF15206 and ESC ZA

Section 1
Introduction
This manual is for system programmers who are responsible for the configuration or control of
Agilis® 3 91x software used to drive terminals connected to a 912 network.

1.1 About This Manual


This manual discusses Agilis 3 91x programming for Diebold® terminals. Differences between
Diebold terminals and differences between Diebold devices are noted.

This manual is divided into the following sections.

Overview
Section 2 provides an overview of the Agilis 3 91x system, including network configurations,
terminal configuration, modes of operation, and enhancement software.

Terminal Devices
Section 3 lists terminal devices (bill dispenser, printers, and so on) supported by Agilis 3 91x. For
each device, the manual provides a brief description of the device capabilities that Agilis 3 91x
supports.

Print Data Programming


Section 4 describes print data programming for graphics-related print strategies (used for many
graphics-capable printers).

Configuration Data
Section 5 defines the types of configuration data that the network must store in the terminal
(download) to define terminal operation, and the Write Command messages associated with these
types of configuration data.

Transaction Messages
Section 6 describes the messages sent between the terminal and the network during transactions.

Operational Command Messages


Section 7 describes the commands sent by the network to place the terminal in service or to remove
it from service, to request supply counts, or to perform any of several other non-transaction
operations.

ASCII-to-EBCDIC Code Conversion Chart


Appendix A contains an ASCII-to-EBCDIC conversion chart.

Customizing CREQs for Mixed Deposit Transactions


Appendix B describes how to customize the CREQ for a mixed deposit transaction.

Currency Acceptor Application Notes


Appendix C contains application notes for implementing cash deposit transactions for terminals
equipped with a currency acceptor.

Other Application Notes


Appendix D contains additional information about some Agilis 3 91x features.

1.2 Related Documents

The following manuals provide additional information about Diebold terminal programming:

 Agilis 3 91x User Guide (TP-821302- 00H)


 Consolidated MDS Status Reference Manual (TP-821839-001A)
 Agilis Maintenance and Agilis Advanced Maintenance User's Guide (TP-821312-001I)
 Data Security Procedures and Reference Manual (TP-799530-001E or later)

For information about network protocols, refer to the documentation supplied with the Agilis Base
Communications (ABC) software.

For programming information about implementing smart card transactions on Agilis 3 91x terminals,
refer to the Agilis 3 91x EMV User and Programmer Guide (TP-821446-001C or later).

1.3 Terminology

 The term Agilis 3 91x is a Diebold cross vendor software environment for terminals;
Diebold's open terminal software platform for terminals running on the 912 network.
 The abbreviation ACU refers to the Agilis Configuration Utility. The Agilis Configuration
Utility is the main tool for configuring the operation of the Agilis 3 91x application.
 The abbreviation CD refers to a compact disk. The term CD-ROM is used only for non-
writeable CDs and CD drives without write capability.
 The term CD-RW refers to a re-writable compact disk. The CD-RW is used only for CDs
and CD drives that have write capability.
 The term keypad refers to all the numeric keys and function keys on the fascia of the
terminal for the use of the consumer. The term Consumer Keypad is used for Diebold
terminals only, and refers to the numeric keys and those function keys physically grouped
with the numeric keys.
 The abbreviation TCS refers to Diebold's Terminal Control Software , including TCS Plus.
TM
TCS runs on Diebold i Series, ix Series, and MDS terminals in a non-XFS environment.
 The abbreviation XFS refers to the Extensions for Financial Services architecture. The
abbreviation XFS SP refers to an XFS Service Provider.
 References to a device such as a card reader, include the device's XFS SP, as applicable,
unless stated otherwise.

1.4 What's New in This Release?

The following is a list of features and devices that will be supported by the Agilis 3 91x SP4 release:

 Diebold 55xx terminal support


 In-Lobby Terminals (ILT) (Diebold 99xx Terminals)
 Diebold 429 Terminal Support
 EPP7
 80mm Receipt Printer (Enhanced Graphical Thermal Receipt Printer)
 58mm Journal Printer
 ActivGuard
 ActivEdge Card Reader
 ActivDispense Cash Dispenser
 Article 6 on ECRM and ENA JCM
 Dual Cash Out
 ESC Hotkey
 Advanced Passbook Printer
 Estimated First Cause (EFC)
 Virtual Alpha Numeric Keyboard
 Default reserved screens for COHTMLGenerator
 TMD support
 Mixing CO and Legacy Screens
 Parallel Self-Test
 One Hour Battery Backup
 Device Available State
 Logging enhancements
 IE11 with HTML5
 Auto Recovery

Section 2
Overview
This section provides an overview of the Agilis 3 91x system, including the following topics:

 Network configurations (Section 2.1)


 Terminal configuration (Section 2.2)
 Modes of operation (Section 2.3)
 Enhancement software (Section 2.4)

2.1 Network Configurations

Agilis 3 91x terminals can operate in the following network configurations:

 Online to a controller that is, in turn, connected to a host computer (on-host)


 Online to a host (direct connect)
 Online to a controller that is not connected to a host computer (off-host)

All three network types are shown in Figure 2-1.

Figure 2-1 Sample Terminal Networks


2.2 Terminal Configuration

In order to perform transactions, the terminal must be loaded with additional information
(configuration data ). The configuration data includes information on sequencing a transaction,
which messages to display to the consumer, card verification methods, how long to wait for
consumer responses, and other variable information. The configuration data and the transfer of this
data to the terminal is the responsibility of the network application software.

The configuration data is sent by the network over the communications line and is stored on the
terminal's hard drive. This download process is known as terminal configuration and is performed
whenever the terminal is powered up or reset.

Refer to Section 5 for more information on configuration data.

2.3 Modes of Operation

At any time, the Agilis 3 91x terminal operates in one of the following five modes:

 Power-up mode
 Out-of-service mode
 Off-line mode
 In-service mode
 Maintenance mode

The terminal goes from one mode to another when it encounters a specific event, such as when the
terminal operator logs on to Maintenance mode, or Agilis 3 91x determines that the terminal is no
longer communicating with the network.

Figure 2-2 shows how the terminal normally exits one mode and enters another. If the terminal
loses power or is reset, the terminal abnormally exits from the mode it was in when the reset or
power failure occurred.

Figure 2-2 Terminal Operation

The following subsections describe how the terminal enters and exits each of the modes and, if
applicable, how the terminal functions when it is in that mode.

2.3.1 Power-Up Mode

The terminal enters the Power-up mode when one of the following events occur:

 The terminal is powered up


 The terminal is initialized (an operator presses the Reset button)
During the Power-up mode, Agilis 3 91x initializes the timers, the communications interface, and
any installed devices (bill dispenser, keypad, and so on). Agilis 3 91x also erases any information
that might have been displayed on the consumer display when the terminal entered the Power-up
mode.

The terminal exits to the Off-line mode or Out-of-Service mode when it leaves the Power-up mode.

2.3.2 Out-of-service Mode

The terminal enters the Out-of-service mode from any one of the following modes:

 Power-up mode
 Off-line mode
 In-service mode (if the terminal receives a shutdown command from the network)
 Maintenance mode

While in the Out-of-service mode, the terminal displays the Out of Service screen (screen 002,
unless redefined by the network) on the consumer display.

The terminal accepts and stores configuration data while it is in the Out-of-service mode.

Depending upon which mode the terminal was in before going out-of-service, the terminal might be
able to perform other functions.

2.3.3 Off-line Mode

The terminal enters the Off-line mode from any of the following modes:

 In-service mode
 Out-of-service mode
 Power-up mode
 Maintenance mode

The terminal enters the Off-line mode from the In-service mode if communication is lost between
the network and the terminal while the terminal is in the In-service mode.

While in the Off-line mode, the terminal operates as follows:

 The terminal displays the Off-line screen (screen 001, unless redefined by the network) on
the consumer display.
 The terminal enters an idle loop until network communication is restored.

The terminal exits this mode under the following conditions:

 Communication with the network is restored.


 The terminal enters the Maintenance mode.
 An abnormal exit occurs.
2.3.4 In-service Mode

The terminal enters the In-service mode from any of the following modes:

 Out-of-service mode (if the terminal receives a Startup command from the network)
 Maintenance mode (if the Automatic Return to Previous Mode feature is enabled)
 Off-line mode (if communication with the network is restored)

While in service, the terminal uses the configuration data to make transaction sequence decisions.

By default, Agilis 3 91x processes the Operational Command message requesting configuration
information even if a consumer is on the terminal.

The terminal exits from the In-service mode under the following conditions:

 If the terminal receives a Shutdown command from the network. The terminal completes
any consumer transactions in progress and then enters the Out-of-service mode.
 If the terminal loses communication with network. The terminal enters the Off-line mode.
 If the terminal manager initiates maintenance procedures. The terminal completes any
consumer transactions in progress and then enters the Maintenance mode.
 If an abnormal exit occurs.
NOTE
Except when an abnormal exit occurs, the In-service mode can only be exited from
state 000.

2.3.5 Maintenance Mode

The terminal manager or terminal operator uses the Agilis 3 91x Maintenance mode to replenish
supplies, change passwords, and change encryption keys. All maintenance operations are
described in the Agilis Basic Maintenance and Agilis Advanced Maintenance User's Guide (TP-
821312-001G).

The terminal manager must manually place the terminal in the Maintenance mode. The network
cannot command the terminal to enter this mode.

While in the Maintenance mode, the terminal responds to network messages as follows:

 The terminal rejects all Write Command messages and replies with Solicited Status
messages, indicating a Command Reject condition.
 The terminal responds to a Function Command message with a Solicited Status message,
indicating a Command Reject condition except for Function Commands '4' & 'D' which are
accepted.
 The terminal responds to an Operational Command message requesting configuration
information with a Solicited Status message containing configuration information.
 The terminal accepts Operational Command messages requesting startup or shutdown, but
does not process or reply to them until the terminal exits the Maintenance mode.
If the terminal receives any Operational Command messages requesting startup or shutdown while
in the Maintenance mode, then upon exiting the Maintenance mode, the terminal processes the last
such message received and sends the network a Solicited Status message indicating a Ready
condition.

Automatic Return to Previous Mode


The Automatic Return to Previous Mode feature configures a terminal to automatically return to
service when exiting the Maintenance mode if the terminal was in service before entering the
Maintenance mode. If the feature is disabled, the terminal remains out of service when exiting the
Maintenance mode. This feature is enabled by default.

2.3.6 Continuous Availability

The Continuous Availability feature is included on Opteva terminals equipped with the Agilis
Advanced Maintenance application. Continuous Availability allows a terminal manager to perform
maintenance procedures on a rear-load terminal while the terminal is in service. The terminal
remains available to the consumer for performing transactions while the terminal manager uses the
terminal's rear monitor to replenish supplies and view or print counters. If a transaction requires a
device that is being serviced, Agilis 3 91x informs the consumer that the device is temporarily
unavailable.

For details on Continuous Availability, refer to the Agilis Maintenance and Agilis Advanced
Maintenance User's Guide (TP-821312-001I).

2.3.7 Terminal Responses to Network Commands

The terminal responds differently to network messages, depending on which mode of operation the
terminal is in. Table 2-1 describes terminal responses to specific network messages. For details on
specific network messages, refer to Section 6.2 or Section 7, as applicable.

NOTE

All occurrences of Reject (A) response can also be sent as a Reject (D) response if the
Reject Reason Codes to Network feature is enabled in the Miscellaneous Features 2 field of a
Write Command 3 message. Also, if message authentication (MAC) is enabled, Reject (C)
responses can occur for Function Command messages if the time variant number or MAC
code field is incorrect or when downloading states or FITs.

Table 2-1 Terminal Responses to Network Commands


Terminal Response to Command When Terminal Is:
In-service, No
Consumer Consumer
Session In Session In
Commands Progress Progress Out-of-service In Maintenance
Operational Ready (9) Ready (9) Ready (9) Ready (9), once
Command 1 Maintenance mode
is exited
(Go in-service)
Operational Ready (9) Ready (9), once Ready (9) Ready (9), once
Command 2 transaction is Maintenance mode
closed is exited
(Go out-of-service)
Operational Configuration Configuration Configuration Configuration
[1]
Command 3 information (8) information (8) information (8) information (8)

(Configuration
information request)
Operational Supply counts (8) Supply counts (8) Supply counts Supply counts (8)
Command 9 (8)

(Retrieve basic
supply counts)
Operational Reject (A) Reject (A) Supply counts Supply counts (8)
Command : (8)

(Retrieve and clear


basic supply counts)
Operational Supply counts (8) Supply counts (8) Supply counts Supply counts (8)
Command ; (8)

(Retrieve enhanced
supply counts)
[9] [9]
Operational Reject (A) Reject (A) Supply counts Supply counts (8)
Command < (8)

(Retrieve, then set or


clear enhanced
supply counts)
Operational Ready (9) Reject (A) Ready (9) Reject (A)
Command >

(Conditional go out-
of-service)
[7] [2] [2] [2]
Write Commands Ready (9) Ready (9) Ready (9) Ready (9)

(Except for Write


Command 5)
[5]
Write Command 5 Reject (A) Ready (9) Reject (A) Reject (A)

(OAR)
[3] [5]
Function Commands Reject (A) Ready (9) Reject (A) Reject (A)

(Except 4 [print
immediate] and D
[print and wait])
[6] [3] [5] [6] [8] [6] [4]
Function Commands Reject (A) Ready (9) Reject (A) Reject (A)
4 and D

(Print immediate,
and print and wait)
[1]
Depending on the settings in the Agilis Configuration Utility, Agilis 3 91x can delay processing the
command until after the consumer session ends.
[2]
Depending on the settings in the Agilis Configuration Utility, the terminal can reject a Write
Command message in these modes.
[3]
Ready (B) would occur instead, if the Separate Ready for Function Command Message feature is
enabled in Miscellaneous Features 1 field of Write Command 3 message.
[4]
Depending on the settings in the Agilis Configuration Utility, the terminal can accept print
immediate function commands and print and wait function commands in Maintenance mode.
[5]
Ready response only if the terminal is in the Transaction Request state. Otherwise, a Reject
response occurs.
[6]
In the Agilis Configuration Utility, if the Accept Function ID 4 in Host Download parameter is
selected and the function command has a Message Coordination number of zero, then a Ready (9)
response is sent. Otherwise, a Reject (A) response is sent. If this parameter is selected, the
terminal accepts the function, but does not execute it.
[7]
All Write Command messages, except Write Command 2 for screens, will be rejected if the
terminal is in-service.
[8]
In the Agilis Configuration Utility, if the Accept Function ID 4 In Out Of Service parameter is
checked and the function command has a Message Coordination number of zero, then a Ready (9)
response is sent, and the print immediate command is processed. Otherwise, a Reject (A) response
is sent and the function is not executed.
[9]
In the ACU, if the Accept Operational Command Retrieve, then set or clear enhanced supply
counts (<) in In-service mode feature is enabled, then this operational command will be accepted
by the terminal while in service. The host must limit the use of this feature only to transactions
performed during terminal balancing, so that devices with counts are not used by the transaction
since this operational command will not be able to set or clear counts for a device that is in use.

2.4 Additional Features

There are terminal-resident features that can coexist with Agilis 3 91x to enhance the operation of
the terminal. Two of these features are included as part of the Agilis 3 91x base software. Other
features are optional. The following features, listed in alphabetical order, are available for use with
Agilis 3 91x:

 Campaign Office (optional)


 Deposit Emulation (included)
 EMV Smart Card application (included)
 Message Authentication Code (MAC) (included)
 Electronic Data Capture (EDC)

Campaign Office (optional)


Campaign Office is an online transaction processing system that directs the display of consumer-
specific marketing content to consumers using the terminal, and gathers consumer responses to the
marketing content.

When a consumer uses a terminal in a Campaign Office network, the terminal sends the
consumer's account number to the Campaign Office server, which determines if the consumer
should be presented with marketing material. If so, the consumer is presented with one or more
screens and/or coupons that market a product or service. If the consumer responds to any
marketing prompts, the Campaign Office system records these responses at the server.

Deposit Emulation (included)


The Deposit Emulation feature allows a terminal equipped with a currency acceptor to emulate
envelope deposit transactions when performing cash deposit transactions.

The Deposit Emulation feature is supported through a combination of states and screens and Agilis
Configuration Utility (ACU) options. If desired, the states and screens for cash deposit transactions
can be stored locally rather than downloaded from the network, in order to minimize network
changes.

At the discretion of the network, the feature can be configured to suppress unsolicited fault statuses
generated by the currency acceptor. Also, if necessary, the terminal can be configured to suppress
the currency acceptor portion of the Hardware Configuration status data.

For more information on the Deposit Emulation feature, refer to the Agilis 3 91x, Service Pack (SP)
4, Installation and Configuration Guide (TP-821745-001A).

EMV Smart Card (included)


The EMV Smart Card application allows Agilis 3 91x to provide smart card debit and credit
transactions, such as those offered by Visa and MasterCard.

A smart card is a bank card that has an electronic chip instead of (or in addition to) a magnetic
stripe. The electronic chip on the card contains an application that performs operations and holds
financial data, allowing the consumer to perform debit or credit transactions. Smart cards provide
greater security against fraud than magnetic stripe cards, and smart cards can support a wide range
of differentiating services.

Smart cards must be EMV compliant, and the terminal must be equipped with an EMV level 1
certified smart card reader.

For details on EMV operation and programming, refer to the Agilis 3 91x EMV User and
Programmer Guide (TP-821446-001C).

Message Authentication Code (MAC) (included)


Message authentication is a data security feature that helps prevent unauthorized tampering with
messages between an terminal and a network. This is done by adding a message authentication
code (MAC) and a time variant number to critical messages.

For details on MAC operation, refer to the Agilis Message Authentication Code (MAC) Operating
Guide (TP-821203-001A or later).

Electronic Data Capture (EDC)


The Electronic Data Capture (EDC) feature allows a terminal to electronically store any information
that is traditionally sent to the journal printer. This information consists of transaction data, terminal
status data, printer diagnostic data, and cassette counters data. This information is stored on a hard
disk or floppy disk (or CD, if applicable).

EDC provides the following different operating modes, depending upon the needs of the user:

 Local data file


 Store and Forward (SAF) file

The Local Data File option provides data at a local level, often on a floppy disk (or CD, if
applicable). This option requires maintenance personnel to transfer the file from the terminal when it
becomes full.

The Store and Forward (SAF) option provides the same data as the local data file, but is accessed
in a different way. A remote host computer can request the contents of the EDC SAF file via
commands similar to those used in the PACE application. Commands such as Send First Record,
Send Next/Delete Previous Record, and Delete Previous Record and Stop are supported. This
action allows the journal data to be retrieved and processed without having to physically send
personnel to each terminal.

For details on setting up and operating EDC, refer to the Agilis 3 91x Electronic Data Capture (EDC)
3.0 SP1 Operating Guide (TP-821490-001B).

Section 3
Terminal Devices
This section describes the terminal devices supported by Agilis 3 91x. Only those hardware devices
that can require some amount of network programming are described in this section. Agilis 3 91x
supports the following terminal devices:

 Bill dispenser (Section 3.1)


 Coin dispenser (Section 3.2)
 Envelope depository (Section 3.3)

TM
Intelligent Depository Module (Section 3.4)
 Currency acceptor (Section 3.5)
 Keypad (Section 3.6)
 Encryption/decryption device (Section 3.7)
 Consumer display (Section 3.8)
 Card reader (Section 3.9)
 Receipt printer (Section 3.10)
 Journal printer (Section 3.11)
 Statement Printer (Section 3.12)
 After Hour Depository (Section 3.13)
 Lead-through indicators (Section 3.14)
 Alarms (Section 3.15)

3.1 Bill Dispenser

Agilis 3 91x supports a bill dispenser equipped with up to four dispense cassettes, a cash
presenter, and a reject cash bin (divert cassette).
A terminal with two or more cassettes can dispense up to four denominations, depending on the
number of cassettes installed. A terminal with a single cassette can dispense only one
denomination.

NOTE

Agilis 3 91x supports a maximum of four dispense positions. If the bill dispenser installed in
the terminal has more than four dispense positions, Agilis 3 91x cannot dispense bills from
or report the status of any position beyond the fourth position. The cassettes should be
removed from the unused positions.

Within the constraints of the standard 912 network protocol, Agilis 3 91x can dispense up to 99 bills
for each dispense transaction, subject to the limitations of the bill dispenser installed in the terminal.

100 Bills Dispense Feature. The 100 Bills Dispense feature provides the capability of dispensing
up to 100 bills for each dispense transaction from any bill dispenser with that capacity.
Implementing this feature requires extending the 912 network protocol in the following ways:

 Function Command messages contain an additional field that allows the network to specify
up to 100 bills when directing the terminal to dispense bills.
 Agilis 3 91x uses previously undefined bytes in the solicited Dispenser status to report
dispense counts and divert counts for up to 100 bills.

Opteva Advanced Function Dispenser


On Opteva terminals, the Advanced Function Dispenser (AFD) can contain up to five dispense
cassettes, plus a divert cassette divided into two compartments. However, Agilis 3 91x only
supports a maximum of four dispense positions (refer to the note above).

The two compartments of the divert cassette serve as a retract bin (for bills retracted after being left
by the consumer) and a reject bin (for bills mispicked or dumped).

The AFD can dispense up to four denominations. If a fifth dispense cassette is installed, the fifth
cassette must contain the same denomination of bills as one of the other four cassettes. The AFD
device driver treats the fifth cassette as an extension of the other cassette, so that, to Agilis 3 91x
and the network, there appears to be only four dispense cassettes in the AFD. If more than one of
the other cassettes has the same denomination as the fifth cassette, the cassette nearest in
position to the fifth cassette is the one extended. Any status reported for the extended cassette
reflects the combined statuses of the cassette and the fifth cassette. For example, if the extended
cassette is low or empty, but the fifth cassette is full, no low or empty status is reported for the
extended cassette. Both cassettes must be low or empty before Agilis reports the extended
cassette as low or empty. Similarly, the bill counts reported to the network for bills delivered, bills
diverted, and so on are the sum of the counts for the extended cassette and the fifth cassette.

An AFD equipped with high-capacity dispensing hardware can dispense up to 100 bills for each
dispense transaction (requires setting an ACU option). If the AFD is not equipped with high-capacity
dispensing hardware, the AFD can dispense only up to 50 bills for each transaction.

In addition to dispensing bills, the AFD can dispense stamps, tickets, and other similar media.

Bulk Cash Recycler


The Bulk Cash Recycler (BCR) is a bill dispenser and currency acceptor in a single physical unit.
The BCR can be configured to operate in any of the following modes:
 Bill dispenser only
 Currency acceptor only
 Bill dispenser and currency acceptor (with or without cash recycling)

The following paragraphs describe the bill dispenser functionality of the BCR. (For information about
the currency acceptor functionality of the BCR, refer to Section 3.5.)

The BCR can be equipped with up to five cassettes, and can dispense up to four denominations of
a single currency. The topmost position (position 0) must contain one of the following types of
cassettes, depending on an institution's requirements:

 Universal Accept cassette


 Multiple Acceptance Box (MAB) (Opteva terminals only). The MAB contains three
compartments that can store bills separately based on retain type (reject, retract, and so
on).
 Dispense Reject/Retract cassette, with a Universal Deposit cassette in the second position
(position 1)

The remaining positions can contain any mix of cassettes configured for accept-only, dispense-only,
or recycling functionality, to suit the institution's requirements. (Subject to the following restriction: a
BCR cannot contain a recycling cassette and a dispense-only cassette configured for the same
denomination.)

By requesting and reading the additional Hardware Configuration status data, the network can
determine if the terminal has a BCR that is configured as a bill dispenser (with or without currency
acceptor functionality). The Hardware Configuration status data also reports what cassettes are
present in the device and what currency type and denominations the BCR is configured to
dispense. For networks that do not want to receive the BCR configuration information in the
additional Hardware Configuration status data, the terminal can be configured (ACU) to suppress
sending the BCR configuration information. The default setting is to send the BCR configuration
information to the network.

NOTE

The BCR uses the standard picking method only. Rotational picking is not supported.

Operational Note. When the BCR is configured to operate as both a bill dispenser and a currency
acceptor, the network must design the transaction flow such that each cash deposit transaction is
properly terminated (using a Cash Clear operation or a Close state) before initiating a bill
dispensing transaction.

Enhanced Cash Recycler Module (ECRM)


The Enhanced Cash Recycler Module (ECRM) is a bill dispenser and currency acceptor in a single
physical unit. The ECRM can be configured to operate in any of the following modes:
 Bill dispenser only
 Currency acceptor only
 Bill dispenser and currency acceptor (with or without cash recycling)
The following paragraphs describe the bill dispenser functionality of the ECRM. (For information
about the currency acceptor functionality of the ECRM, refer to Section 3.5)

The ECRM can be equipped with up to five cassettes, and can dispense up to four denominations
of a single currency. The topmost position (position 0) must contain one of the following types of
cassettes, depending on an institution's requirements:

 Universal Accept cassette


 Dispense Reject/Retract cassette, with a Universal Deposit cassette in the second position
(position 1)

The remaining positions can contain any mix of cassettes configured for accept-only, dispense-only,
or recycling functionality, to suit the institution's requirements. (Subject to the following restriction:
an ECRM cannot contain a recycling cassette and a dispense-only cassette configured for the
same denomination.)

By requesting and reading the additional Hardware Configuration status data, the network can
determine if the terminal has a ECRM that is configured as a bill dispenser (with or without currency
acceptor functionality). The Hardware Configuration status data also reports what cassettes are
present in the device and what currency type and denominations the ECRM is configured to
dispense. For networks that do not want to receive the ECRM configuration information in the
additional Hardware Configuration status data, the terminal can be configured (ACU) to suppress
sending the ECRM configuration information. The default setting is to send the ECRM configuration
information to the network.

NOTE

The ECRM uses the standard picking method only. Rotational picking is not supported.

Operational Note. When the ECRM is configured to operate as both a bill dispenser and a
currency acceptor, the network must design the transaction flow such that each cash deposit
transaction is properly terminated (using a Cash Clear operation or a Close state) before initiating a
bill dispensing transaction.

3.1.1 Dispense Test

For information on the dispense test referred to in Section 3.1.2 through Section 3.1.4, refer to the
Agilis Maintenance and Agilis Advanced Maintenance User's Guide (TP-821312-001I).

3.1.2 Denomination IDs

By requesting and reading the expanded Hardware Configuration status (Table 7-6), the network
can determine the bill denominations available at the terminal, based on the denomination IDs
assigned by the institution.

The valid denomination IDs are A through H. The following table shows the standard denomination
ID assignments for U.S. bill denominations.

Denomination ID Standard Value


A $1
B $5
C $10
D $20
E $50
F-H Reserved

When a terminal receives a Function Command message for a dispense operation, the terminal
picks the appropriate number of bills for each denomination (indicated in the Number of Bills to
Dispense field in the Function Command message).

3.1.3 Cassette Shuffle

The dispense cassettes can be placed in any dispense position in the bill dispenser. However, if a
cassette denomination is changed from its original position or removed from the terminal during
normal operation, and if the terminal operator does not run a dispense test from the Supply menu
afterwards, the terminal reports an error the next time the network commands the terminal to
dispense bills.

3.1.4 Bill Picking

Bill picking can be performed in one of two ways: standard picking or rotational picking. The type of
picking affects which cassette the bills are picked from, how money-low and money-out statuses are
determined and reported, and when a status is sent to the network. Section 3.1.4.1 and Section
3.1.4.2 describe these two methods.

Denomination Not Present


If the network requests a denomination that the terminal does not contain, the terminal does not
dispense any bills. The terminal reports a denomination-error condition to the network.

3.1.4.1 Standard Bill Picking

With the standard bill picking method, if a terminal contains two or more cassettes with the same
denomination, the terminal picks bills from one cassette of that denomination until that cassette is
empty before starting to pick from the next cassette.

Whenever a money-low or money-out condition occurs at the terminal, the condition remains in
effect until a terminal operator replaces the dispense cassette(s) and runs a dispense test from the
Supply menu.

A terminal uses the following procedure to report that the supply of bills for a denomination is low or
completely out. This description assumes that the terminal contains two or more cassettes with the
same denomination.

1. As each cassette for that denomination becomes low, the terminal sends the network a
Solicited Status message to indicate a money-low condition for that cassette. The dispenser
does not deliver the bills to the consumer.

When the network receives a money-low status, the network must send a deliver command
to the terminal to deliver the bills. If the network does not send a deliver command, the bills
are not delivered to the consumer, and the transaction is marked as incomplete. If the bills
are not delivered, then at the beginning of the next withdrawal transaction, the undelivered
bills are dumped, and new bills are dispensed from the next cassette.
If a fault occurs during the same operation, the terminal reports both the fault and the
money-low condition.

2. When all the cassettes for a particular denomination are empty, the terminal sends the
network a Solicited Status message that indicates a feed-failure condition.

3.1.4.2 Rotational Bill Picking Examples

This section provides examples of rotational picking and the fault statuses sent by the dispenser
when cash is low or completely out. The dispenser in this example is a multimedia dispenser that
has been set up with two C denomination cassettes and two D denomination cassettes. The two D
denomination cassettes are located in the first and third positions (feed modules 1 and 3) and the
two C denomination cassettes are located in the second and fourth positions (feed modules 2 and
4). For simplicity, only the D denomination cassettes are discussed in these examples.

Normal Rotational Picking


In this example, Agilis 3 91x directs the dispenser to dispense 10 bills from a D denomination
cassette.

Initially, the dispenser picks from the topmost feed module for that denomination (in this example,
that would be feed module 1).

When the next withdrawal transaction occurs, the dispenser picks from the next cassette of the
required denomination (in this example, feed module 3).

The dispenser continues to rotate between the feed modules as the transactions continue.

Cassettes Go Low One at a Time


As the transactions continue, the two cassettes eventually run low on bills. In this example, assume
that the cassette in feed module 1 goes low first. When the first cassette goes low, the dispenser
does not deliver the bills to the consumer. A supply-low status is sent to the network. The network
must send a deliver command to the terminal to deliver the bills. If it does not, the bills are not
delivered to the consumer, and the transaction is marked as incomplete. If the bills are not
delivered, then at the beginning of the next withdrawal transaction, the undelivered bills are
dumped, and new bills are dispensed from the cassette in feed module 3. The dispenser continues
to rotate between the two cassettes as transactions continue.

Cassette 1 Goes Empty before Cassette 3 Goes Low


During the processing of a dispense command from Agilis 3 91x to dispense eight bills of
denomination D, the cassette in feed module 1 runs out of bills. The dispenser drops down to the
cassette in feed module 3 to complete the transaction. Since the dispense was complete, the
Solicited Status message sent to the network reports a Ready status. A feed failure status is sent to
the network as an unsolicited status.

The dispenser no longer attempts to pick from feed module 1.

Cassette 3 Goes Low


The dispenser continues to pick from the D denomination cassette in feed module 3 until it goes
low. When the cassette goes low, the dispenser does not deliver the bills to the consumer. A
supply-low status is sent to the network. The network must send a deliver command to the terminal
to deliver the bills. If it does not, the bills are not delivered to the consumer and the transaction is
marked as incomplete. If the bills are not delivered, then at the beginning of the next withdrawal
transaction, the undelivered bills are dumped, and new bills are dispensed from the cassette in feed
module 3.

No Bills Left in Feed Module 3


When cassette 3 is emptied, Agilis 3 91x knows that there are no longer any cassettes of that
denomination available, so it sends a feed failure status to the network. The feed failure status
indicates the number of bills dispensed.

3.1.5 Bill Delivery

Bill delivery consists of the following operations:

 Present
 Restore
 Retract
 Dump

The following paragraphs describe these operations.

Present
A present operation moves a stack of dispensed bills (or other media) from the stacking position
toward the consumer. It also opens the shutter and pushes the cash to a position where the
consumer can see and remove the stack.

Restore
A restore operation closes the shutter and moves the presenter into a position ready for another
dispense. This operation can only occur if the consumer removed the entire stack.

A restore operation might occur during a Close state or at the termination of a consumer input state.
It might also occur before the execution of a second dispense function if the presenter is not already
in a dispense-ready position. Again, the intent is to prepare the presenter for another dispense.

Retract
A retract operation moves the bills (or other media) from the presenting position to a position behind
the shutter and closes the shutter.

Once the bill dispenser has performed a retract operation, subsequent dispense attempts for the
same consumer result in a solicited Dispenser status (delivery door open before dispense).

Dump
A dump operation clears the presenter by moving all remaining dispensed bills (or other media)
from the presenter into the divert cassette. The dump count is increased by the number of bills
assumed to be in the presenter at the time of the dump. A notification of the dump, with the format
DR01:3F:46:xx, (where xx is the number of bills dumped, in hexadecimal) is printed on the journal
printer.

A dump operation occurs on each powerup and on every maintenance exit. On Opteva terminals,
the terminal manager can also select a dump operation from the Supply menu.
If the network authorizes a dispense for a new consumer while there is cash in the escrow position,
the presenter dumps the cash before performing the new dispense. This action allows the terminal
to continue processing dispenses if the network does not specifically order a dump.

Unremoved Bills
By default, if a consumer fails to remove the entire stack of dispensed bills (or other media) before
the allotted time expires, Agilis 3 91x retains (dumps) the unremoved bills and does not report the
event to the network. The terminal continues normal processing after dumping the bills.

Agilis 3 91x can also be configured to leave the unremoved bills in the delivery area, in the
presenting position (No Retract feature, Section 3.1.7).

Fault Recovery
Agilis 3 91x performs two levels of automatic fault recovery. Most faults that occur during present
and restore operations are followed by a dump operation to attempt to restore the presenter to a
position permitting further dispense functions. If the fault occurs during a present operation, the
terminal reports a solicited Presenter status to the network.

The second level of recovery prevents further faults. Faults that occur during most dump operations
leave the presenter device position in question, and subsequent dispense functions can give
unpredictable results. Therefore, the dispenser is disabled after these faulted dumps. This disabling
is the same as that used when a dispenser jam occurs. Clearing this condition requires a successful
test dispense from the Supply menu.

3.1.6 Partial Dispense

On some terminals, if the amount picked from the cassettes is less than the amount requested by
the network (due to a hardware fault, an insufficient supply of bills, or any other reason), the bill
dispenser automatically moves the bills into the reject bin. The bills are never presented to the
consumer.

On Opteva terminals equipped with an AFD or D450 terminals equipped with MMD, when the
amount picked from the cassettes is less than the amount requested by the network, the network
has the option to deliver the bills to the consumer. When such an event occurs, the terminal sends
a Solicited Status message reporting that fewer bills were picked than were requested, then waits
for the network to send a new Function Command message. The network can then direct the
terminal either to deliver the bills or to move the bills into the reject bin. If the network chooses to
deliver the bills, the transaction is referred to as a partial dispense.

At present, Opteva terminals equipped with an AFD and D450 terminals equipped with MMD are
the only terminals supported by Agilis 3 91x that are capable of partial dispenses.

3.1.7 No Retract Feature

The No Retract feature allows the terminal to present cash to the consumer and, after a timeout, to
leave the cash accessible (in the presenting position), instead of retracting or dumping the cash.
This feature is enabled through the Miscellaneous Features 3 field of the Write Command 3
message (Section 5.15).

When this feature is enabled, bills are retracted or dumped under the following conditions only:

 Powerup after reset or power failure


 During maintenance operations
 Network commanded dump

When the No Retract feature is enabled, the specific characteristics of the feature are determined
by ACU settings. The ACU provides the following options for configuring this feature:

 Go out of service on customer timeout


 Go back in-service after money is removed
 Send Money Forgotten and Money Removed statuses

If the Go Out of Service On Customer Timeout option is selected, the terminal automatically goes
out of service if the consumer does not take the bills that are presented. The terminal goes out of
service immediately after the consumer session ends (typically the Close state).

The Go Back In-service After Money Is Removed option is only available when the Go Out of
Service On Customer Timeout option is selected. If this option is selected, the terminal
automatically returns to service when the cash is removed from the delivery area.

If the Send Money Forgotten and Money Removed Statuses option is selected, the terminal
sends a Money Forgotten status (a solicited Presenter status with a status byte of 30) when a
consumer does not take their cash in the time allowed. The terminal sends a Money Removed
status (an unsolicited Delivery Area Sensors status with a status byte of 40) when the cash is
removed.

NOTE

If the network enables the No Retract feature but none of the three ACU options has been
selected, the terminal continues to present the unremoved bills while remaining in service,
but the terminal does not report this situation to the network.

The following paragraphs show how to combine these settings to define specific operational modes
for the No Retract feature.

Operational Modes
The ACU settings for the No Retract feature allow an institution to configure this feature in any one
of the following operational modes:
 Stay in service
 Go out of service; return to service when cash is removed
 Go out of service; wait for network command to return to service

Stay In Service. The terminal stays in service when the consumer leaves cash in the delivery area.
This mode is configured by not selecting the Go Out of Service On Customer Timeout option.

This mode requires changes to state and screen configuration data in order to prevent the
consumer from selecting additional bill dispense transactions until all the bills are removed from the
delivery area. If the consumer were to select another bill dispense transaction before the bills were
removed, the terminal would have to retract and retain the unremoved cash before additional bills
could be dispensed.
If desired, the Send Money Forgotten and Money Removed Statuses option can be selected. This
setting allows the network to capture information about how often consumers do not remove their
cash in the time allowed. (If this option is not selected, the terminal still leaves the cash in the
presenting position, but the statuses are not sent.)

Go Out of Service; Return to Service When Cash Is Removed. The terminal goes out of service
when the consumer leaves cash in the delivery area. The terminal automatically returns to service
(state 000) when the cash is removed. This mode is configured by selecting both the Go Out of
Service On Customer Timeout option and the Go Back In-service After Money Is Removed option.

This mode requires changes to the Out of Service screen (screen 002, by default) to direct the
consumer to remove the blockage (cash) from the delivery area.

Also, the network must prevent the consumer from selecting additional bill dispense transactions
until all the bills are removed from the delivery area. Otherwise, because the terminal does not go
out-of-service until the current consumer session ends, the consumer could select another bill
dispense transaction. If the consumer were to select another bill dispense transaction before the
bills were removed, the terminal would have to retract and retain the unremoved cash before
additional bills could be dispensed.

If desired, the Send Money Forgotten and Money Removed Statuses option can be selected. This
setting allows the network to capture information about how often consumers do not remove their
cash in the time allowed. (If this option is not selected, the terminal still leaves the cash in the
presenting position, but the statuses are not sent.)

Go Out of Service; Wait for Network Command to Return to Service. The terminal goes out of
service when the consumer leaves cash in the delivery area. The terminal stays out of service until
the network commands the terminal to return to service. This mode is configured by selecting the
Go Out of Service On Customer Timeout option, but not selecting the Go Back In-service After
Money Is Removed option.

This mode operates the same as the previous mode, except that the terminal does not
automatically return to service when the cash is removed from the delivery area. Instead, after the
network receives a Money Removed status from the terminal, the network must send the terminal
an Operational Command message containing a Go In Service command in order to return the
terminal to service.

This mode requires selecting the Send Money Forgotten and Money Removed Statuses option.
This setting ensures that the network can determine when the cash has been removed and the
terminal can be returned to service.

Cash Recycler Note


If a Bulk Cash Recycler (BCR) or an Enhanced Cash Recycler Module (ECRM) is configured to
operate as both a bill dispenser and a currency acceptor, the No Retract feature can affect cash
deposit transactions as follows. When bills dispensed by the recycler are left in the cash pocket due
to the No Retract feature, those bills cannot be retracted by any currency acceptor operation (for
example, a Cash Deposit operation or a Cash Clear operation). If a cash deposit is attempted in this
situation, the attempt is aborted, and the terminal reports a Network Sequence Error status
(CI01:3F:40:31).

Before cash deposits can be successfully performed, the bills must be manually removed from the
cash pocket or must be retracted by one of the methods listed at the start of this section.
3.2 Coin Dispenser

Agilis 3 91x supports a coin dispenser equipped with up to four coin bins. A terminal equipped with
the appropriate number of bins can dispense up to four distinct denominations of coins.

By requesting and reading the expanded Hardware Configuration status, the network can determine
if a coin dispenser is present and enabled at a terminal.

To dispense coins, the network must send the terminal a Function Command message containing
the Dispense Currency function. The dispense amount can be specified by the number of coins of
each denomination to be dispensed or (for U.S. currency only) by the dollar amount.

Coin dispenser statuses generated during the processing of a Dispense Currency function are
reported to the network in Solicited Status messages. At present, unsolicited coin dispenser
statuses are not reported to the network.

The network can obtain the current coin supply counts by using an Operational Command message
to request the enhanced Supply Counts status. The enhanced Supply Counts status reports the
number of coins loaded at each dispense position and the total number of coins dispensed from
each dispense position.

Coin Denominations
By requesting and reading the double expanded Hardware Configuration status, the network can
determine the coin denominations available at the terminal, based on denomination IDs assigned
by the institution.

The valid denomination IDs are A through H. The following table shows the standard denomination
ID assignments for some example currencies.

Denomination ID United States Euros South Africa United Kingdom Brazil


A 1 cent 2 cents 1 Rand 1 pence 1 centavo
B 5 cents 10 cents 2 Rands 5 pence 5 centavos
[1]
C 10 cents 20 cents Unassigned Unassigned Unassigned
D 25 cents 50 cents 50 cents 10 pence 25 centavos
E 1 dollar 2 Euros 5 Rands 1 Pound 1 Real
F Unassigned 1 cent Unassigned 2 pence Unassigned
G Unassigned 5 cents Unassigned Unassigned Unassigned
H Unassigned 1 Euro Unassigned Unassigned Unassigned
[1]
Not currently supported

The denomination ID assignments can be customized to meet an institution's specific requirements.

Partial Dispense
If the amount of coins dispensed is less than the amount requested by the network (due to a
hardware fault, an insufficient supply of coins, or any other reason), the terminal sends the network
a Solicited Status message reporting that fewer coins were dispensed than were requested. The
terminal then waits for the network to send a new Function Command message. The network
should send the terminal a Set Next State and Print function command, or a similar function
command.

Opteva Coin Dispenser


An Opteva coin dispenser can contain up to four coin bins and can dispense up to four
denominations of coins.

The Opteva coin dispenser allows no more than 18 coins total to be dispensed for any one
transaction.

3.3 Envelope Depository

Agilis 3 91x supports the Opteva Envelope Depositor with Integrated Dispenser , an envelope
depository combined with an envelope dispenser.

3.3.1 Deposit Printer Text

As part of deposit processing, Agilis 3 91x can print text on envelopes and checks inserted into the
depository. The text can be generated by Agilis 3 91x (default), provided by the network in a
Function Command message, or built during state flow with create, set, and copy buffer states.

Default Text
If the deposit printer text is generated by Agilis 3 91x, the text includes the transaction serial
number, the deposit amount entered by the consumer, and track data from the consumer's card, as
shown in the following example.

1 Transaction serial number


2 Deposit amount
3 Track data (first 20 characters of track 2 data)
The transaction serial number is the same four-digit transaction serial number sent in the
Function Command message. This number originates at the network and identifies the transaction
to the network.

The deposit amount is the deposit amount entered by the consumer. This field is 12 characters
long. The terminal prints the deposit amount (without leading zeros) flush left in the field. The
terminal does not print the decimal point. If the deposit amount does not fill the field, trailing blanks
(space characters) are added.

If a deposit transaction follows another transaction without a Close state between, and if the deposit
transaction does not go through a Dollar Entry state or a Set Dollar Buffer state, the deposit printer
prints the previous transaction's Dollar Buffer . A Tellergram is an example of such a transaction. If
it is not appropriate to print the previous transaction's Dollar Buffer data for the deposit, you can add
a Set Dollar Buffer state to the transaction sequence to set the Dollar Buffer to zeros.

Track data contains the first 20 characters of track 2 data (not including the start sentinel) read off
the card while the terminal is in the Card Read state. If track 2 is not on the card or is unreadable,
the first 20 characters of track 3 data (not including the start sentinel) are printed. If neither track 2
nor track 3 is on the card, or if neither is readable, the first 20 characters of track 1 data (not
including the start sentinel) are printed.

Network Generated Text


The network can send text to print on the deposit envelope, instead of the default data. The
maximum number of characters that can be printed on the envelope depends on the deposit printer
used in the terminal, subject only to the total length limit for Agilis 3 91x messages (8192 bytes).

On Opteva terminals, the deposit printer can print a single row of characters on the deposited
envelope. The deposit printer can print up to 100 characters on a 240-millimetre-long envelope. The
deposit printer can print characters in the ASCII range 20 through 5D hex.

Refer to Section 6.4 and Section 6.5.6 for more information on sending network deposit printer data
to an Agilis 3 91x terminal.

3.3.2 Envelope Dispensing

Agilis 3 91x can dispense envelopes under network control (through the use of certain states and
function commands) or automatically (as part of a deposit operation).

Network-controlled Envelope Dispensing


The network can control envelope dispensing through the use of the following states and function
commands:
 Deposit state (Section 5.4.3)
 Depositor state (Section 5.5.6)
 Depositor function command (Section 6.5.6)

Automatic Envelope Dispensing


Automatic envelope dispensing allows the automatic dispense of a single envelope at the beginning
of a deposit operation, if the terminal has not previously attempted an envelope dispense for the
deposit. (If the deposit operation is preceded by a state or function command explicitly commanding
an envelope dispense, the terminal does not attempt an automatic envelope dispense.)
Automatic envelope dispensing is enabled by default. Automatic envelope dispensing can be
enabled and disabled through the Agilis Configuration Utility.

Automatic envelope dispensing proceeds as follows:

1. At the beginning of the deposit function, Agilis 3 91x determines if the Envelope Prompt
Screen option is enabled:
o If the Envelope Prompt Screen option is enabled, go to Step 2.
o If the Envelope Prompt Screen option is not enabled, go to Step 3.
2. Reserved screen 910 is displayed, asking the consumer if an envelope is needed.
o If the response from the consumer is Yes, go to Step 3.
o If the response is No or Cancel, go to Step 4.
o If there is no response from the consumer within the time-out interval specified for
timer 00 , go to Step 4.
3. An envelope is dispensed.
a. If the envelope dispense is successful, the terminal displays screen 922, prompting
the consumer to take the envelope.
 If the consumer takes the envelope, go to Step 4.
 If the consumer does not take the envelope within the allotted time (a fixed
time of 2 minutes), the terminal retracts the envelope, and the deposit
operation is canceled.
b. If the envelope dispense is not successful, the terminal displays screen 911.
Screen 911 informs the consumer that envelopes are not available, and asks the
consumer if they want to continue the deposit operation.
 If the response from the consumer is Yes, go to Step 4.
 If the response is No or Cancel, the deposit operation is canceled.
 If there is no response from the consumer within the time-out interval
specified for timer 00 , the deposit operation is canceled.
4. The terminal proceeds to the deposit operation.

Envelope Dispenser Statuses


By default, envelope dispenser statuses generated during automatic envelope dispensing or
Deposit state (C state) processing are not sent to the network. Sending these statuses to the
network can be enabled through the Agilis Configuration Utility.

3.4 Intelligent Depository Module

On Opteva terminals , Agilis 3 91x can support a check depository called the Intelligent Depository
TM TM
Module (IDM ). The IDM allows Agilis 3 91x to perform check reading and check cashing
functions. Agilis 3 91x supports the following IDM types:

 IDM 4
 IDM 5
 Bulk Document IDM (IDMbd)
All IDMs can accept deposits of checks and other documents (such as utility bills). The IDM bd can
accept a loose stack of checks.

By requesting and reading the expanded Hardware Configuration status, the network can determine
if an IDM is present and enabled at a terminal.

Image Capture
Image capture enables a terminal to capture images of checks or other documents (such as utility
bills) deposited in the IDM. The captured images can be used in the following ways:
 Displayed on the consumer display to assure the consumer that the document is being
processed properly
 Printed on the consumer's receipt (requires the use of a graphics-related printing strategy)
 Sent to the network for real-time deposit verification, or for adding to a database (requires
TM
the ImageWay Application Suite)

TM
Stored on a hard drive or a floppy disk (or CD, if applicable) (requires the ImageWay
Application Suite)

MICR Line Reading and Courtesy Amount Recognition


Agilis 3 91x terminals equipped with an IDM can read and interpret some information fields on a
check.

For example, the terminal can read the magnetic ink character recognition (MICR) data from the
check. The terminal can read all the MICR data fields defined by ANSI X9.13-1983. The terminal
can be configured to read the E13-B, OCR, or CMC-7 font. The MICR data can then be sent to the
network, along with any other transaction data required for transaction authorization.

The terminal can also identify the handwritten courtesy amount on the check. The courtesy amount
can then be printed on the consumer's receipt if the institution desires to do so.

Deposit Printer
The IDM can print text on checks and other documents inserted into the depository, as part of the
processing for a Depositor state (DP state) or a deposit function command. The text can be
generated by Agilis 3 91x (default), or the text can be provided by the network.

If the deposit printer text is generated by Agilis 3 91x, the text includes the transaction serial
number, the deposit amount entered by the consumer, and track data from the consumer's card.
The format and content of the default deposit printer text is the same as that for the envelope
depository (Section 3.3.1).

The network can send text to print on the deposited item in place of the default data generated by
Agilis 3 91x. The maximum number of characters that can be printed on a deposited item and the
range of characters that can be printed depends on the type of IDM (IDM 4, 5, or Bulk Document).

For more information on sending network deposit printer data to an Agilis 3 91x terminal, refer to
Section 6.4 and Section 6.5.6.

Operational Note
If there is a check or other document held in escrow when the terminal goes to a Close state (J
state), Agilis 3 91x directs the IDM to retain the check or document, without printing on the
document. Similarly, if the terminal attempts to go to a non-existent state with a check or document
held in escrow, the IDM retains the check without printing.

IDM 5
The fifth-generation IDM (IDM 5) accepts the deposit of checks and other documents. If envelope
deposits are desired, the Envelope Depositor with Integrated Dispenser can be installed to operate
in conjunction with the IDM.

The IDM 5 is equipped with two deposit bins: a main bin (bin 1) and an exceptions bin (bin 2). The
IDM scans both the top and the bottom of a deposited check or document.

The deposit printer prints on the bottom of a deposited check or document. The IDM 5 can print up
to 100 characters on a 228-millimetre (nine-inch) check (limited to 80 characters on a 150-millimetre
[six-inch] check). The valid range of characters is ASCII hex 20 through 5D, plus hex 7F (euro
symbol).

The IDM 5 can detect suspicious magnetic characteristics on documents and report suspicious
magnetics to the network. This capability can also be used to modify state flow.

IDM 4
The fourth-generation IDM (IDM 4) accepts the deposit of checks and other documents. If envelope
deposits are desired, the Envelope Depositor with Integrated Dispenser can be installed to operate
in conjunction with the IDM.

The IDM 4 is equipped with a single deposit bin (bin 1). The IDM scans both the top and the bottom
of a deposited check or document.

The deposit printer prints on the top of a deposited check or document or on the bottom, depending
on how the hardware is installed. The IDM 4 can print up to 100 characters on a 228-millimetre
(nine-inch) check (limited to 80 characters on a 150-millimetre [six-inch] check). The valid range of
characters is ASCII hex 20 through 5D, plus hex 7F (euro symbol).

IDMbd
The Bulk Document IDM (IDMbd) can be configured to accept either single-check deposits or a
loose stack of up to 30 checks or other documents. By requesting and reading the additional
Hardware Configuration status data, the network can determine if the terminal's IDM is an IDM bd.

The IDMbd is equipped with two deposit bins: a main bin (bin 1) and an exceptions bin (bin 2). The
IDM scans both the top and the bottom of a deposited document.

The deposit printer prints on the bottom of a deposited document. The IDMbd can print up to 100
characters on a 228-millimetre (nine-inch) check (limited to 80 characters on a 150-millimetre [six-
inch] check). The valid range of characters is ASCII hex 20 through 5D, plus hex 7F (euro symbol).

The IDMbd can detect suspicious magnetic characteristics on documents and report suspicious
magnetics to the network. This capability can also be used to modify state flow.

The IDMbd can be configured (ACU) to operate in either multi-check mode (native mode) or single-
check mode. When the device is operating in the native mode, the network uses the Bulk Document
Deposits format of the DP state and function data to accept and process document stacks. When
the device is operating in the single-check mode, the network can use the same states, screens,
and Function Command messages as those used for the IDM 5.
If desired by the network, the IDMbd can be configured to emulate IDM 5 status reporting. When this
feature is enabled, all statuses generated by the IDMbd are translated to the closest IDM 5
equivalent before being sent to the network.

NOTE

If an Opteva IDM is expected to accept both sizes of check (228-millimetre/nine-inch and 150-
millimetre/six-inch), the network should send no more than 80 characters of deposit printer
data to the terminal. If the data is more than 80 characters and the check is short in length,
the IDM does not print anything on the check.

3.5 Currency Acceptor

A currency acceptor (bill acceptor) allows a consumer to deposit a loosely bundled stack of bills of
mixed denominations. The currency acceptor identifies the denomination of each bill, validates the
bill, and counts all the bills by denomination. For a given currency, Agilis 3 91x can accept up to 10
distinct denominations, subject to the limitations of the specific currency acceptor.

Agilis 3 91x supports the following additional features for all currency acceptors (subject to the
capabilities of the specific device):

 Detection, handling, and backtracing of counterfeit bills and suspect bills


 Configuration of up to six currencies at one time
 Ability to accept all configured currencies in a single transaction, including stacks containing
a mixture of currencies
 Ability to report amounts and bill counts for counterfeit or suspect bills detected during cash
verification, as part of the Consumer Request message

Support for specific currencies and denominations and for counterfeit detection and backtracing
varies based on the specific bill validating module and currency templates installed in the currency
acceptor. See a sales representative for a list of bill validating modules and currency templates
available for each type of currency acceptor.

By requesting and reading the additional Hardware Configuration status data, the network can
determine if a currency acceptor is present and enabled at a terminal. The Hardware Configuration
status data also reports which cassettes are present in the device and which combinations of
currency type, denomination, and release/emission number (bill types) the device is configured to
accept.

For networks that do not want to receive the currency acceptor configuration information in the
additional Hardware Configuration status data, the terminal can be configured (ACU) to suppress
sending the currency acceptor configuration information. The default setting is to send the currency
acceptor configuration information to the network.

Within the range of bill types recognized by the device, the network can configure which bill types
the currency acceptor accepts and which bill types it rejects. Configuration can be accomplished
through the use of the Write Command 20 message or ACU.

To accept cash deposits, the network uses enhanced states and function commands. The network
can use Currency Acceptor states, Currency Acceptor function commands, or a combination of
both.
Currency acceptor statuses generated during the processing of Currency Acceptor states and
function commands are reported to the network in both Solicited Status messages and Unsolicited
Status messages. Currency acceptor statuses are enhanced statuses (J-type statuses).

The network can obtain the current currency acceptor supply counts by using an Operational
Command message to request the enhanced Supply Counts status. The enhanced Supply Counts
status reports the total number of bills of each denomination deposited to each deposit position.

On terminals using a currency acceptor, buffers 310 through 325, 342 through 345, 354, and 355
are reserved for system use, as described in Section 5.5.3 and Section 3.1.1.

NOTE

When a currency acceptor is installed and enabled at the terminal, the network programmer
should use these reserved buffers only as described for cash deposit transactions, and
should not use these buffers for any other type of transaction or function.

Additional network programming considerations include downloading screen data for the Currency
Acceptor Not Available screen (reserved screen 921).

Enhanced Note Acceptor


Agilis 3 91x supports the Enhanced Note Acceptor (ENA). The ENA can accept a stack of up to 50
bills (escrow limit).

The ENA is equipped with the ENA Stacking Cassette (ESC), which can contain either one or two
deposit cassettes, depending on institution requirements. If the ESC has two deposit cassettes,
Agilis 3 91x can be configured (ACU) so that the ENA appears to the network to have a single
deposit cassette. When this option is selected, the deposit counts and the device status for the two
deposit cassettes are combined and reported as the deposit counts and the device status for a
single cassette. This option allows the use of the ENA in networks that currently support Bulk Note
Acceptors equipped with the free-fall cassette.

The ENA also has a retract cassette. The retract cassette holds all bills that are retracted when
clearing cash from the device. The retract cassette is reported separately from the deposit
cassettes in the enhanced Supply Counts status data.

NOTE

At present, it is not permissable to load a currency template containing more than six
genuine currencies in the ENA's bill validating module. A test currency (for example, BEE or
DBD) is not counted as one of the six currencies.

Bulk Cash Recycler


The Bulk Cash Recycler (BCR) is a bill dispenser and currency acceptor in a single physical unit.
The BCR can be configured to operate in any of the following modes:
 Bill dispenser only
 Currency acceptor only
 Bill dispenser and currency acceptor (with or without cash recycling)

The following paragraphs describe the currency acceptor functionality of the BCR. (For information
about the bill dispenser functionality of the BCR, refer to Section 3.1.)
The BCR can accept up to 200 bills in a single cash deposit transaction (escrow limit).

The BCR can be equipped with up to five cassettes. The topmost position (position 0) must contain
one of the following types of cassettes, depending on an institution's requirements:

 Universal Accept cassette


 Multiple Acceptance Box (MAB)
 Dispense Reject/Retract cassette, with a Universal Deposit cassette in the second position
(position 1)

The remaining positions can contain any mix of cassettes configured for accept-only, dispense-only,
or recycling functionality, to suit the institution's requirements. (Subject to the following restriction: a
BCR cannot contain a recycling cassette and a dispense-only cassette configured for the same
denomination.)

The MAB contains three compartments that can store bills separately based on bill type and retain
type (good deposit, retract, and so on). If a MAB is installed, the MAB appears to the network to be
a Universal Accept cassette. This feature allows the use of the MAB in networks that currently
support BCRs equipped with the Universal Accept cassette.

As an option, the Send Expanded MDS Status feature can provide the network with additional error
information for some BCR hardware faults. This feature can be enabled through either the Agilis
Configuration Utility or the Write Command 3 message. The default setting is to have the feature
disabled.

NOTE

At present, it is not permissible to load a currency template containing more than six
genuine currencies in the BCR's bill validating module.

Operational Note. When the BCR is configured to operate as both a bill dispenser and a currency
acceptor, the network must design the transaction flow such that each cash deposit transaction is
properly terminated (using a Cash Clear operation or a Close state) before initiating a bill
dispensing transaction.

Enhanced Cash Recycler Module


The Enhanced Cash Recycler Module (ECRM) is a bill dispenser and currency acceptor in a single
physical unit. The ECRM can be configured to operate in any of the following modes:
 Bill dispenser only
 Currency acceptor only
 Bill dispenser and currency acceptor (with or without cash recycling)

The following paragraphs describe the currency acceptor functionality of the ECRM. (For
information about the bill dispenser functionality of the ECRM, refer to Section 3.1.)

The ECRM can accept up to 200 bills in a single cash deposit transaction (escrow limit).

The ECRM can be equipped with up to five cassettes. The topmost position (position 0) must
contain one of the following types of cassettes, depending on an institution's requirements:
 Universal Accept cassette
 Dispense Reject/Retract cassette, with a Universal Deposit cassette in the second position
(position 1)

The remaining positions can contain any mix of cassettes configured for accept-only, dispense-only,
or recycling functionality, to suit the institution's requirements. (Subject to the following restriction:
an ECRM cannot contain a recycling cassette and a dispense-only cassette configured for the
same denomination.)

NOTE

At present, it is not permissible to load a currency template containing more than six
genuine currencies in the ECRM's bill validating module.

Operational Note. When the ECRM is configured to operate as both a bill dispenser and a
currency acceptor, the network must design the transaction flow such that each cash deposit
transaction is properly terminated (using a Cash Clear operation or a Close state) before initiating a
bill dispensing transaction.

The Enhanced Cash Acceptor (ENA) and Enhanced Cash Recycler Module (ECRM) are non-
pocket style devices that do not have a cash pocket area for the customer to drop notes. After the
authentication code entered by the customer is verified, the customer feeds notes into the device.

Bulk Note Acceptor


The Bulk Note Acceptor (BNA) can accept a stack of up to 100 bills (cash pocket limit and escrow
limit).

The BNA can be equipped with either a free-fall cassette or an Opteva Stacking Cassette (OSC),
which contains two deposit cassettes. When the BNA is equipped with an OSC, Agilis 3 91x can
optionally be configured (ACU) so that the BNA appears to the network to have a single deposit
cassette. When this option is selected, the deposit counts and the device status for the two deposit
cassettes are combined and reported as the deposit counts and the device status for a single
cassette. This option allows the use of the OSC in networks that currently support BNAs equipped
with the free-fall cassette.

Additional network programming considerations for the BNA include downloading screen data for
the Remove Currency screen (reserved screen 007).

NOTE

At present, it is not permissible to load a currency template containing more than six
currencies in the BNA's bill validating module. A test currency (for example, XXG) must be
counted as one of the six currencies.

The Bulk Note Acceptor (BNA) and Bulk Cash Recycler Module (BCRM) are pocket style devices
that have a cash pocket area for the customer to drop notes. After the authentication code entered
by the customer is verified, the BNA shutter opens allowing the customer to drop notes in the
pocket area. The customer then presses a button to indicate that he/she has finished inserting
notes.

Single Note Acceptor (Opteva terminals only)


The Single Note Acceptor (SNA) is equipped with a single cassette for storing bills. The SNA does
not have any retract cassette. Terminals equipped with a SNA can be configured to emulate a
standard envelope depository through XApCheck. Envelope depository emulation can be used to
implement cash deposit transactions on a network that does not support Currency Acceptor
function commands and Currency Acceptor status messages.

The SNA does not have escrow, and directly retains bill to the cassette after insertion.

3.6 Keypad

Agilis 3 91x supports numeric keys (0 through 9), and up to 13 function keys (designated by the
letters A through M in a 91x system). In addition to keys 0 through 9, the numeric keys can include
a decimal point key, a double-zero key, and a triple-zero key, subject to the features and
capabilities of the device.

The correspondence between the terminal's physical function keys and the letter designations is
configured when Agilis 3 91x is installed. The correspondence might vary depending on system
requirements, but the following paragraphs describe typical configurations.

Figure 3-1 shows which function keys are typically designated function keys A through D, and F
through I.

Figure 3-1 Function Keys A through D, and F through I

NOTE

If the terminal is equipped with a touch screen, the terminal might not have the function keys
shown in Figure 3-1.

Figure 3-2 shows an example layout of a 16-key PIN pad , indicating which function keys are
typically designated function keys E, and J through M.

Figure 3-2 Example PIN Pad with Function Keys E, and J through M
Depending on a terminal's specific hardware, the PIN pad might include a double-zero key, a triple-
zero key, or both, in place of either the decimal point key or one of the function keys.

The PIN pad can incorporate an encryption/decryption device inside a secure module. A PIN pad of
this type is called an encrypting PIN pad (EPP).

NOTE

The additional Hardware Configuration status data always reports EPP present , even if an
EPP is not present. Similarly, a keypad communication fault is always reported to the
network as an EPP fault .

Implementing function keys F through M requires the Function Key Extension state (Section 5.4.19),
as well as screens with appropriate lead-through lines or arrows for function keys F through I. For
host computers that use the Open Account Relationship feature, the Write Command 5 message
can also be extended to enable function keys F through M (Section 6.6).

NOTE

For a terminal equipped with a touch screen but without the function keys shown in Figure
3-1, if touch buttons corresponding to function keys F, G, H, or I are to be enabled, extension
states and extended Write Command 5 messages are still required for activation.

3.7 Encryption/Decryption Device

Agilis 3 91x supports an encryption/decryption device for encrypting a consumer-entered PIN for
transmission to the network. Subject to the capabilities of the encryption/decryption device, Agilis 3
91x can also use the device to perform the following related functions:

 PIN verification at the terminal (Visa or Data Encryption Standard (DES))


 Network-to-terminal message authentication
 Encryption key management
 Single or triple DES encryption and decryption

For detailed information about these functions, refer to the Data Security Procedures and
Reference Manual (TP-799530-001E).
Optionally, the encryption/decryption device can be incorporated in a secure module within the PIN
pad. A device of this type is called an encrypting PIN pad (EPP). An EPP encrypts consumer-
entered PINs inside the secure module directly at the PIN pad. The PIN digits are never available
as clear text.

Opteva Terminals
All Opteva terminals are capable of performing all the functions listed in the preceding paragraphs.

3.8 Consumer Display

Agilis 3 91x displays text and graphics on the consumer display using HTML-formatted screens.
Legacy screens (screens using legacy screen control sequences) are automatically converted to
HTML format. For information about legacy screen support, refer to Section 5.6.

Some terminals are equipped with a touch screen monitor, which allows the consumer to make
selections and enter data by touching programmable areas on the consumer display. Touch screen
functionality is fully supported on Opteva terminals equipped with touch screen monitors.

3.9 Card Reader

Agilis 3 91x supports the following categories of card readers:

 Motorized
 Dip

By requesting and reading the Hardware Configuration status (Section 7.4.2), the network can
determine which category of card reader is installed in the terminal.

Opteva Terminals
On Opteva terminals, Agilis 3 91x supports both motorized card readers (with or without smart card
hardware) and dip card readers (with or without smart card hardware).

3.9.1 Motorized Card Readers

For motorized card readers, Agilis 3 91x supports reading data from and writing data to tracks 1, 2,
and 3 of a magnetic stripe, subject to the capabilities of the card reader and its device driver.

Also for motorized card readers, there is a pre-head option , which specifies whether to use the card
reader's pre-head sensor to control opening the card reader gate. For Opteva terminals, Agilis 3
91x supports network control of the pre-head option (through the use of the Card Reader state).

3.9.2 Dip Card Readers

For dip card readers, typical operation is to prompt the consumer to insert and then remove the
card. The reader mechanism attempts to read the card during the removal of the card. Agilis 3 91x
supports reading data from tracks 1, 2, and 3 of a magnetic stripe, subject to the capabilities of the
card reader and its device driver.

Terminals equipped with a dip card reader cannot return cards, retain cards, or write on the
magnetic stripe of cards (or on the electronic chip, if present). If state tables or function commands
direct the terminal to perform one of these functions, Agilis 3 91x proceeds as if it had completed
the specified function successfully and does not report an error to the network.

State Tables
Avoid downloading any Card Write state tables as part of terminal configuration data. Program Card
Read state tables to return cards rather than to retain cards.

Screens
Reword screens that tell consumers to take their card or that their card has been retained (or do not
download those screens to the terminal).

Timers
Use timer 18 to determine the maximum amount of time that the terminal displays the error
(misread) screen specified by the Card Read state. The terminal can use its default value for timer
18 (12 seconds), or the network can download a value for timer 18 in the Write Command 3
message (Section 5.15).

Do not use timer 09 (time to wait for the consumer to take the card from a motorized card reader). If
the network downloads a value for timer 09, the terminal accepts the value but does not use it.

In addition, the network should download a value for timer 23 (Section 5.15). Timer 23 determines
the maximum amount of time that the terminal waits for the consumer to remove their card from the
card reader before prompting the consumer to remove the card.

Function Commands
Terminals should require consumer identification before each transaction. Program the Next State
ID field in Function Command messages to specify a Close state table that exits to a Card Read
state or to a PIN Entry state.

Avoid sending the terminal any Function Command messages that direct the terminal to capture a
card or write on a card.

3.9.3 Smart Card Readers

Agilis 3 91x supports reading and writing to the electronic chip on a chip card (smart card). The
terminal must be equipped with an EMV level 1 certified smart card reader, and the smart cards
must be EMV compliant. The smart card reader capability can be combined with a magnetic stripe
card reader, either motorized or dip.

Agilis 3 91x reads from and writes to smart cards using one of the following payment schemes:

 Visa Smart Debit


 Visa Smart Credit
 MasterCard M/Chip
 Interac
 National Standard Indonesia

If a card reader (and its device driver) has smart card capability, Agilis 3 91x can report this
capability to the network in the double expanded Hardware Configuration status.
For details on EMV operation and programming, refer to the Agilis 3 91x EMV User and
Programmer Guide (TP-821446-001C).

3.9.4 ActivEdge Card Readers

ActivEdge card reader is a new model of the motorized card reader, which is designed for
preventing card skimming attempts. It accepts cards in the long edge with the magnetic stripe being
inserted first unlike the motorized card reader where the shorter edge is accepted first. This method
of inserting card provides added security against skimming as skimmers read data parallel to that of
the card reader, thus ensuring that skimmers are not attached on the outer portion of the card
reader for reading the magnetic stripe data on the card.

The ActivEdge card reader can notify the current device docking status to the network. Whenever
the device is attached or removed from the terminal fascia, a status message is sent to the network
reporting the current device docking status.

The ActivEdge card reader can only read track data on the card, but cannot write on card tracks.

The reserved screen 944 displays an error message when the card is incorrectly inserted in to the
card reader.

3.10 Receipt Printer

To print transaction information on the receipt printer, a standard network sends the information to
Agilis 3 91x in a Function Command message (Section 6.4) and specifies the routing of print data to
the receipt printer (using the printer flag in the Function Command message).

Depending on printer capabilities and network requirements, the receipt printer can be configured
for any one of the following printing strategies:

 Graphics-related
 Text-related

Graphics-related Strategy
The graphics-related strategy requires a printer (and printer XFS SP) capable of printing graphic
images. For graphics-related strategies, Agilis 3 91x renders the receipt as a graphic image. This
image is then sent to the printer as a bitmap or as raster data, as appropriate to the printer. Control
sequences within the print data are used as instructions to Agilis 3 91x for building the graphic
image, and are extracted at that level instead of being passed to the printer. For detailed
information about graphics-related printing strategies, refer to Section 4.

Text-related Strategies
The following text-related strategies are supported by Agilis 3 91x:
 The raw text strategy permits printable characters (hex 20 through 7E, ASCII), line feeds
(hex 0A, ASCII), carriage returns (hex 0D, ASCII), and form feeds (hex 0C, ASCII). All other
non-printable characters (for example, control characters) are stripped from the print data
before the print data is sent to the printer. The raw text strategy does not support graphics,
line or character pitches, emphasis (bold, underline), alternate character sets, or any other
special printing features.
 The pass-through strategy requires complete hardware dependence by the host. All print
data received from the host is passed directly to the printer without processing, except for
the addition of a print header. The print header contains proprietary Diebold control
sequences intended for Diebold printers.

Using Blank Paper


In order for Agilis 3 91x to notify the network that the terminal is using blank paper, the network
must direct the terminal to use the expanded version of the Hardware Configuration status (Section
7.4.2).

The number of blank lines for form feeding varies. A Close state performs eight line feeds before
cutting the paper. When the terminal receives an FF control character, the terminal uses an Agilis
Configuration Utility settings to determine the number of line feeds to perform before cutting the
paper. The default is one line feed.

Blank paper typically does not contain preprinted transaction codes and descriptors on the reverse
side of consumer receipts. If this is the case, changes to the network printer data are required to
add transaction descriptors to the printer data.

Opteva Two-color Graphical Receipt Printer/Enhanced Graphical Thermal Receipt Printer


The Opteva Two-color Graphical Receipt Printer/Enhanced Graphical Thermal Receipt Printer uses
direct thermal printing. The receipt printer has the following features:
 Prints on paper that is 80 millimeters (3.15 inches) wide
 Supports graphics-related printing strategies
 Provides high-resolution graphic printing (8 dots per millimeter, 203 dots per inch)
 Can detect and retract receipts not taken by the consumer (that is, the receipt printer has
an exit sensor and has document retain capability)

The receipt printer can use top-of-form (TOF) marks for fixed-page-length control or alignment with
preprinted images. If fixed page lengths or alignment with preprint are not needed, TOF marks are
optional. By installing suitable thermal paper, it is possible to print two colors on the receipt.

Using graphics-related printing strategies, the receipt printer can print graphics having a maximum
size of 576 pixels by 1600 pixels. The following settings are recommended for graphics-related
printing strategies:

 Lowest horizontal pitch: 11 characters per inch (permits up to 30 characters per line)
 Medium horizontal pitch: 13 characters per inch (permits up to 35 characters per line)
 Highest horizontal pitch: 19 characters per inch (permits up to 49 characters per line)
 Lowest vertical pitch: 6 lines per inch
 Highest vertical pitch: 8 lines per inch

3.11 Journal Printer

To print transaction information on the journal printer, a standard network sends the information to
Agilis 3 91x in a Function Command message (Section 6.4) and specifies the routing of print data to
the journal printer (using the printer flag in the Function Command message).

Depending on printer capabilities and network requirements, the journal printer can be configured
for any one of the following printing strategies:
 Graphics-related
 Text-related

These printing strategies function the same way for journal printers as for receipt printers. For a
description of these printing strategies, refer to Section 3.10.

A journal printer using a graphics strategy uses the same character sets and control sequences as
a receipt printer (Section 4.1 and Section 4.2).

Opteva Journal Printer


The Opteva journal printer uses direct thermal printing. The journal printer prints on paper that is 58
millimeters (2.28 inches) wide, using a printing resolution of 8 dots per millimeter (203 dots per
inch).

Using graphics-related printing strategies, the journal printer can print graphics having a maximum
size of 432 pixels by 1600 pixels.

3.12 Statement Printer

To print transaction information on the statement printer, a standard 911 or 912 network sends the
information to Agilis 3 91x in a Function Command message (Section 6.4) and specifies the routing
of print data to the statement printer (using the printer flag in the Function Command message).

Depending on printer capabilities and network requirements, the statement printer can be
configured for any one of the following printing strategies:

 Graphics-related
 Text-related

These printing strategies function the same way for statement printers as for receipt printers. For a
description of these printing strategies, refer to Section 3.10.

Statement printers using one of the graphics strategies use the same character sets as the receipt
printer and the journal printer (Section 4.1), but use a separate set of control sequences (Section
4.3). Also, for standard (non-enhanced) Function Command messages, the print data for a
statement printer must be in expanded ASCII format by default, but ASCII data can be used
optionally as explained in the following sections.

There are two options for delivering the print data to the statement printer.

 Expanded ASCII
 ASCII

Expanded ASCII Format


Expanded ASCII is the default format. In expanded ASCII format, a printer data byte of B5 (ASCII
hex) is sent to the terminal as the letter B followed by the number 5 (42 35 in ASCII hex). This
method doubles the size of the printer data transmitted to the terminal, but removes all restrictions
on the content of the printer data. As an example, expanded ASCII format can be useful for
transmitting 8-bit data across 7-bit networks. Data pass through mode, which is used to send data
directly to the printer device without conversion into a bitmap, is not supported by the statement
printer so expanded ASCII format data 1B4E30 (314234453330 in ASCII hex) or 1B4E31
(314234453331 in ASCII hex) will cause a print error.

Example

Using the expanded ASCII format, print characters ABC in bold using escape sequence ESC ! n
where n = 08 hex.

Host Data

HEX: 31 42 32 31 30 38 34 31 34 32 34 33
ASCII: 1 B 2 1 0 8 4 1 4 2 4 3

Converted data

HEX: 1B 21 08 41 42 43
ASCII: ESC ! (n) A B C

ASCII Format
To send ASCII data to the statement printer, begin the print data with an ESC N0 sequence (1B 4E
30 in ASCII hex) and the following data is treated as single byte ASCII. There are some statement
printer escape sequences that require 8-bit data or data that is normally used as host protocol
control codes (00 hex to 1F hex). If those escape sequences are not required, all print data can be
single byte ASCII. In this mode you can also mix expanded ASCII data if required. If an ESC N1
sequence follows the initial ESC N0, the data following the ESC N1 will be treated as expanded
ASCII and will be converted back to single byte ASCII before processing by the statement printer
software. Also, all ESC N x sequences will be removed from the data during conversion so that the
data is not treated as pass through data.

The following control codes can't be sent using 7-bit ASCII because “n" could range from 00 hex to
FF hex. Instead, use expanded ASCII as shown in the example.

 ESC ! n
 ESC $ n1 n2
 ESC ( V 2 0 n1 n2
 ESC ( v 2 0 n1 n2
 ESC ( ^ n
 ESC J n
 ESC 3 n
 ESC \ n1 n2
 ESC e n
 ESC | n

Example:
Using the ASCII format, print characters ABC followed by characters DEF in bold using escape
sequence ESC ! n where n = 08 hex.

Host Data

HEX: 1B 4E 30 41 42 43 1B 4E 31 31 42 32 31 30 38
ASCII: ESC N 0 A B C ESC N 1 1 B 2 1 0 8

HEX: 1B 4E 30 44 45 46
ASCII: Esc N 0 D E F

Converted Data

HEX: 41 42 43 1B 21 08 44 45 46
ASCII: A B C ESC ! (n) D E F

Receipt Printer Emulation


If the statement printer is the only consumer print device in the terminal, it can serve as both a
statement printer and as a receipt printer. When the statement printer serves as the receipt printer,
this service is called receipt printer emulation. With receipt printer emulation, Agilis 3 91x routes
both statement jobs and receipt jobs to the statement printer.

When the network sends data intended for receipt printing, the Function Command message must
contain either an appropriate receipt printer flag (2 or 3) or PR b enhanced function data to indicate
receipt printing. In addition, the print data intended for receipt printing must be compliant with the
rules for receipt data. In particular, the print data must be in normal (non-expanded) ASCII format,
and the network must use the receipt printer control sequences , rather than statement printer
control sequences.

The network must ensure that receipt data and statement data are not intermixed on the same form.
One job should complete printing and delivering the form before the next job starts printing.

Print Buffers
If the printer data is short enough to fit in a single Function Command message, the network can
use any function ID, other than P, that includes a print operation. The printer flag ; (semicolon) is
used to print the printer data on the statement printer. During the processing of the Function
Command message, the printer flag ; causes Agilis 3 91x to place the printer data associated with
printer flag ; in buffer S. During the printing operation, the printer data in buffer S is sent to the
statement printer. When the function command processing is complete, the statement printer cuts
and delivers the document automatically.

If the printer data is too lengthy to fit in a single Function Command message, the printer data can
be divided into smaller blocks. The smaller blocks can be sent to the terminal in a series of standard
Function Command messages. For example, the first Function Command message could contain
the printer data for the statement header. The second Function Command message could contain
the information requested by the consumer. The third Function Command message could contain
trailer data of some sort. With this method, the function identifier P (print data and stay in present
state) must be used in all but the last Function Command message so that the statement printer
does not automatically cut and deliver the document before all printing is completed. In the last
Function Command message, a function ID other than P must be used so that the statement printer
cuts and delivers the document after all the printing is completed. This last Function Command
message must contain at least one character of printer data.

Opteva Two-color Statement Printer


The Opteva Two-color Statement Printer uses direct thermal printing. By installing suitable thermal
paper, it is possible to print two colors on the statement document.

The Opteva Two-color Statement Printer accepts paper widths from A4-sized paper (210
millimetres wide, 8.27 inches wide) to letter-sized paper (216 millimetres, 8.5 inches wide). When
the BitmapGraphic strategy (a graphics-related strategy) is used, the following predefined form
sizes are selectable through the Agilis Configuration Utility:

For A4-sized paper:

 203 by 70 millimetres (2.75-inch form)


 203 by 75 millimetres (3-inch form)
 203 by 287 millimetres (maximum-length form)

For letter-sized paper:

 203 by 70 millimetres (2.75-inch form)


 203 by 75 millimetres (3-inch form)
 203 by 269 millimetres (maximum-length form)

For 6-inch wide paper:

 149 by 70 millimetres (2.75-inch form)


 149 by 75 millimetres (3-inch form)
 149 by 196 millimetres (maximum-length form)

The Opteva Two-color Statement Printer can use top-of-form (TOF) marks for page alignment,
fixed-page-length control, or alignment with preprinted images. If page alignment, alignment with
preprint, or fixed page lengths are not needed, TOF marks are optional.

This statement printer provides a printing resolution of 8 dots per millimetre (203 dots per inch).

The printer has an exit sensor that allows the printer to detect when a consumer has not taken the
printed document. The printer can perform retract operations to retain documents left by the
consumer. Also, the printer can perform dump operations to eject a document completely out of the
printer.

3.13 After Hour Depository

On Opteva terminals, Agilis 3 91x can support a night depository called the After Hour Depository
(AHD), equipped with standard firmware.

By requesting and reading the standard Hardware Configuration status, the network can determine
if an AHD is present and enabled at a terminal.
To accept a deposit, the network must send the terminal a Function Command message. Standard
912 network can use the After Hour Depository Deposit and Print function to accept a deposit.
Networks that support enhanced functions can use the After Hour Depository function.

The AHD feature is currently supported for the 91x State-based mode only.

AHD statuses generated during the processing of a function command are reported to the network
in Solicited Status messages.

The network can obtain the current AHD deposit counts by using an Operational Command
message to request the enhanced Supply Counts status.

Additional network programming considerations include setting a timeout value for the bag deposit
insertion timer (timer 08), and downloading screen data for the AHD Not Available screen (reserved
screen 916).

3.14 Lead-through Indicators

Lead-through indicators (guidance lights ) provide the consumer with a visual indication of the
transaction flow. The indicators are used to attract attention to a device that requires user
interaction or is waiting for user interaction. Agilis 3 91x supports lead-through indicators for the
following devices:

 Card reader
 Bill dispenser
 Coin dispenser
 Envelope depository
 Intelligent Depository Module (IDM)
 Receipt printer
 Currency acceptor
 Passbook printer

If the terminal devices have lead-through indicators and Agilis 3 91x is configured to operate the
lead-through indicators, Agilis 3 91x can report this capability to the network in the additional
Hardware Configuration status data.

Agilis 3 91x supports single-color indicators and, for Opteva terminals, multi-color (green, yellow,
red) indicators. Agilis 3 91x operates lead-through indicators automatically.

Automatic Lead-through Feature


For the Automatic Lead-through feature, Agilis 3 91x flashes each indicator at a low rate when
activating the indicator.

For single-color indicators and for the green indicator on Opteva terminals, the Automatic Lead-
through feature operates as shown in Table 3-1. If a red indicator is present and enabled for
automatic lead-through operation, the red indicator signals that the device is inoperable. If a yellow
indicator is present and enabled for automatic lead-through operation, the yellow indicator signals a
supplies-low condition for that device.
Table 3-1 Automatic Lead-through Operation
Device Activity Lead-through Action
Card Reader, Insert card The indicator is activated when the device expects a card to be
Motorized/Smart inserted. The indicator is deactivated immediately after the
Card card is inserted completely and read.
Remove The indicator is activated as the device presents the card. The
card indicator is deactivated immediately after the card is removed.
Card Reader, Dip Insert and The indicator is activated when the device expects a card and
remove card deactivated immediately after the card is removed.
Bill Dispenser Deliver cash The indicator is activated at the beginning of the present
operation. The indicator is deactivated immediately after the
cash is taken, or after the consumer response time expires.
Coin Dispenser Deliver coins The indicator is activated when the coins are delivered. The
indicator is deactivated after five seconds.
Envelope Depository Dispense The indicator is activated at the beginning of the present
envelope operation. The indicator is deactivated after the envelope is
taken or retracted.
Deposit The indicator is activated when the device is expecting an
envelope envelope to be inserted. The indicator is deactivated after the
envelope is inserted into the device entrance slot.
IDM Deposit The indicator is activated when the device is expecting a
document document to be inserted. The indicator is deactivated
immediately after the document is inserted into the device
entrance slot.
Return The indicator is activated when the device is expecting a
document document to be taken. The indicator is deactivated immediately
after the document is taken from the device entrance slot.
Receipt Printer Deliver The indicator is activated as the receipt printer presents the
receipt receipt. The indicator is deactivated immediately after the
receipt is taken (if the receipt printer can detect the removal of
a receipt) or after a fixed time.
Statement Printer Deliver The indicator is activated as the statement printer presents the
Statement statement. The indicator is deactivated immediately after the
statement is taken (if the statement printer can detect the
removal of a statement) or after a fixed time.
Passbook Printer Insert The indicator is activated when the passbook printer is
passbook expecting a passbook to be inserted. The indicator is
deactivated immediately after the passbook is inserted into the
entrance slot.
Return The indicator is activated when the passbook printer presents
passbook the passbook. The indicator is deactivated immediately after
the passbook is taken or retracted.
[1]
Currency Acceptor Deposit cash The indicator is activated when the currency acceptor is
expecting cash to be inserted. The indicator is deactivated
immediately after cash is inserted into the input area.
Remove The indicator is activated when the currency acceptor is
cash expecting cash to be removed. The indicator is deactivated
immediately after cash is removed from the input area.
[1]
Due to limitation of SNA Device, LED behaves differently. When SNA is waiting for Note
Insertion/Removal, the green LED glows continuously. At idle condition, the green LED blinks
continuously, and for any hardware error, the red LED glows continuously.

3.15 Alarms

Agilis 3 91x supports ActivGuard along with the Terminal Control Module (TCM) board for providing
an expandable and configurable alarm system for the terminal.

Agilis 3 91x reports Alarm statuses to the network if any alarms are triggered on the terminal. Alarm
status can be reported for any of the following indicators:

 Anti-ambush
 Chest Door
 Burglary
 Cabinet Door
 Upper Chassis Intrusion (UCI)

As compared to the External Alarms Interface (EAI) board that was earlier supported, ActivGuard
provides the following additional features:

 Provides additional alarms and sensors while being backward compatible with EAI boards.
 Provides support for the Cabinet Door statuses.
ActivGuard considers the Cabinet Door statuses while determining the Alarm statues sent
to the network.
 Provides support for scenarios where UCI alarm is activated or deactivated.
ActivGuard considers the UCI status while determining the Alarm statues sent to the
network.
Whenever the Cabinet Door is opened, the terminal sends the Cabinet Door Open status to
the Host. Within a default time interval of this status being sent, an operator must log into
the Maintenance mode on the terminal, failing which the UCI Alarm Active status is sent to
the Host.
After the UCI Alarm Active status is sent, if an operator closes the Cabinet Door, then the
terminal sends the Cabinet Door Closed status to the Host followed by the UCI Alarm
Deactivated status.

For detailed information about Alarm statuses, refer to Section 6.3.1.

Section 4
Print Data Programming
This section provides information about programming print data for the terminal's printers (receipt
and journal), using graphics-related strategies.

Print data programming is the same for all graphics-related strategies. This section discusses the
following aspects of print data programming:
 Character sets (Section 4.1)
 Control sequences for receipt and journal printers (Section 4.2)
 Changing character sets (Section 4.4)
 Standard format for the receipt (Section 4.5)

4.1 Character Sets

You can select a character set anywhere within a line, thus allowing the terminal to print characters
from more than one character set on one line. The following character sets are supplied with the
standard Agilis 3 91x system:

 Standard English (Table 4-1)


 Standard Alternate (Table 4-2)
 Greek (Table 4-3)
 Portuguese (Table 4-4)
 Cyrillic/Latvian (Table 4-5)
 Hungarian/Latin (Table 4-6)
 Turkish (Table 4-7)
 Hebrew (Table 4-8)
 Arabic (Table 4-9)
 Arabic Script (Table 4-10)
 Lithuanian (Table 4-11)
 Code Page 850 (Table 4-12)

During Agilis 3 91x installation, one of the preceding character sets is designated the primary
character set, one set is designated the first alternate set, and one set is designated the second
alternate set. For many systems, this arrangement provides adequate flexibility to meet printing
requirements. For systems that require access to more than three character sets, the ESC s control
sequence (described in Section 4.2) provides access to all the character sets defined for Agilis 3
91x.

Table 4-1 Standard English Character Set


Table 4-2 Standard Alternate Character Set
Table 4-3 Greek Character Set
Table 4-4 Portuguese Character Set
Table 4-5 Cyrillic/Latvian Character Set
Table 4-6 Hungarian/Latin Character Set

Table 4-7 Turkish Character Set


Table 4-8 Hebrew Character Set
Table 4-9 Arabic Character Set
Table 4-10 Arabic Script Character Set
Table 4-11 Lithuanian Character Set
Table 4-12 Code Page 850 Character Set
4.2 Control Sequences for Receipt Printers and Journal Printers

The graphics-related strategies allow the network to change the printing characteristics of the
receipt printer and the journal printer by sending appropriate control sequences with the printer text
in the Printer Data field in a Function Command message. The printing characteristics include the
character set, the horizontal and vertical pitches, the printing density, and the printing width.

The control sequences for the receipt and journal printers are shown in Table 4-13.

NOTE

The TCS control sequences for graphics mode (+ = / and ESC=) are not directly supported by
Agilis 3 91x. However, certain Epson impact printers support them as part of their native
print capabilities. If desired, these control sequences can be sent directly to graphics-mode-
capable printers by the use of the pass-through strategy or pass-through mode.

Table 4-13 Printer Control Sequences for Receipt and Journal Printers
Control ASCII
[1]
Sequence Hex Description
LF 0A Prints a line of characters, then does a carriage return and a line feed.
FF 0C For paper with a top-of-form mark, advances to top-of-form mark, then cuts
and delivers the form. For blank paper, does one or more line feeds
(depending on an Agilis 3 91x configuration setting), then cuts and delivers
the form.
CR 0D Prints a line of characters, then does a carriage return.
SO n 0E n Fills an area with blanks (space characters). The parameter n defines the
number of blanks. The range for parameter n is ASCII hex 31 through 3F
(decimal 1 through 15).
ESC a n 1B 61 Sets the page alignment. The valid values for the parameter n are r (right
n alignment) and l (left alignment).
ESC B 1B 42 Prints the contents of the buffer specified by the one byte following the ESC B.
Valid values are A through Z.
ESC C 1B 43 Cuts and delivers a form.
[2]
ESC c 0 1B 63 Disables text color printing.
30
ESC c 1 n 1B 63 Enables text color printing. The parameter n specifies the color or shade. The
[2]
31 n value for n can be 0 1 2 3 4 5 6 7 8 9 : ; < = > ? or ( which are the 16 ASCII
characters in range hex 30 through 3F, respectively. Value hex 30 represents
black. Value hex 3F represents white. For two-color paper, the values from
hex 31 through hex 3E represent 14 decreasingly lighter shades of the paper's
alternate color. For example, with black/red paper, you can print text in black,
in white, or in 14 decreasingly lighter shades of red. This control code can be
used only with graphic-related print strategies.
ESC D 1B 44 Prints the specified file.
ESC E 0 1B 45 Disables emphasized (bold) printing.
30
ESC E 1 1B 45 Enables emphasized (bold) printing.
31
ESC h 0 1B 68 Disables double high printing.
30
ESC h 1 1B 68 Enables double high printing.
31
ESC I nnn 1B 49 Prints the screen data specified by the parameter nnn, where, parameter nnn
nnn is a screen number.
ESC L 0 1B 4C Disables landscape printing.
30
ESC L 1 1B 4C Enables landscape printing.
31
ESC N 0 1B 4E Disables data pass-through mode.
30
ESC N 1 1B 4E Enables data pass-through mode.
31
[3]
ESC P 1B 50 For blank paper, does one or more linefeeds (depending on a setting in the
Agilis Configuration Utility), then cuts and delivers the receipt. For paper with
top-of-form marks, does a carriage return (does not cut or deliver the receipt).
ESC Q 1B 51 Prints the contents of the last window read by an Image Character
Recognition state. ESC Q requires a terminal equipped with an IDM.
ESC R nnn 1B 52 Prints a scanned image of the front of an entire check. The parameter nnn
[4]
nnn specifies the length of the check image in millimetres. ESC R requires a
terminal equipped with an IDM.
ESC r nnn 1B 72 Prints a scanned image of the back of an entire check. The parameter nnn
[4]
nnn specifies the length of the check image in millimetres. ESC r requires a
terminal equipped with an IDM with dual scanners.
ESC s 1B 73 Selects a character set to use as the first alternate character set.
ESC T 1B 54 The print data following the ESC T is a continuation of the print data in the
previous message.
ESC U 0 1B 55 Disables underline printing.
30
ESC U 1 1B 55 Enables underline printing.
31
[5]
ESC $ 1B 24 Sets lowest vertical pitch (default).
[5]
ESC % 1B 25 Sets highest vertical pitch.
[5]
ESC & 1B 26 Sets lowest horizontal pitch.
[5]
ESC ' 1B 27 Sets medium horizontal pitch (default).
[5]
ESC ( 1B 28 Sets highest horizontal pitch.
[5]
ESC ) 1B 29 Sets lowest horizontal pitch with double-density printing.
ESC 4 1B 34 Enables the first alternate character set (more than one character). The first
alternate character set remains enabled until disabled by ESC 5 or ESC z 0,
or until the end of the current block of print data. For details on use, refer to
Section 4.4.
ESC 5 1B 35 Disables the first alternate character set. Resets printing to the primary
character set.
ESC @ 1B 40 Resets printing to the primary character set, single-width printing, and the
default horizontal and vertical pitches.
ESC W 0 1B 57 Disables double-width printing.
30
ESC W 1 1B 57 Enables double-width printing.
31
ESC Z 0 1B 5A Disables compressed margin printing.
30
ESC Z 1 1B 5A Enables compressed margin printing.
31
ESC z 0 1B 7A Disables the character set currently enabled (first alternate or second
30 alternate). Printing reverts to the character set previously enabled (primary,
first alternate or second alternate). For details on use, refer to Section 4.4.
ESC z 1 1B 7A Enables the second alternate character set (more than one character). The
31 second alternate character set remains enabled until disabled by ESC z 0, or
until the end of the current block of print data. For details on use, refer to
Section 4.4.
[1]
For the correspondence between ASCII values and Diebold's implementation of EBCDIC, refer to
Appendix A.
[2]
Opteva receipt printers only. Not applicable to journal printers.
[3]
ESC P is not supported for the Opteva Two-color Graphical Receipt Printer.
[4]
Receipt printers only. Not applicable to journal printers.
[5]
Vertical and horizontal print pitches are specified as part of Agilis 3 91x installation, as are the
pitch defaults. The defaults indicated are the standard defaults for Agilis 3 91x.

General Characteristics
Each line must end with a CR or LF control character. Agilis 3 91x does not automatically insert line
breaks.

The printing characteristics from previous Function Command messages might not remain in effect
for subsequent Function Command messages because Agilis 3 91x may be configured with a print
data prefix that resets the printer to its default characteristics each time Agilis 3 91x receives a
Function Command message for a print operation. The network should specify all applicable print
characteristics in each Function Command message.

ESC D
The ESC D control sequence is used to print data contained in files stored at the terminal. For the
receipt printer, these files can be PCX-format graphic files, PCX-format logo files, WIN32 bitmap
files, or plain text files.

The ESC D control sequence can be used for the journal printer as well. However, only plain text
files should be used with ESC D when using a text-related print strategy or printing to an impact
journal printer.

The characters that immediately follow the ESC D are the file name, including the extension. The
file name must be terminated by a semicolon ( ; ).

By default, the path for the ESC D files is defined by the following Windows environment variable:

 Variable = AgilisEmPowerPath
 Value = C:\Program Files\Diebold\Agilis Empower

The directory that contains files specified by ESC D control sequences must always be \PrintLogo.
So by default, the full directory path is C:\Program Files\Diebold\Agilis Empower\PrintLogo.

PCX-format files must meet the following requirements:

 ZSoft PCX format


 Non gray-scaled: Monochrome, 16 colors, or 256 colors
 Gray-scaled: 16 shades or 256 shades
 PCX version 2.5, 2.8, or 3.0
 PCX Run Length Encoding (RLE)
 Single color plane with up to 256 colors, or four color planes with 1-bit color

WIN32 bitmap files must meet the following requirements:

 Version 4 header
 Non gray-scaled: Monochrome, 16 colors, or 256 colors
 Gray-scaled: 16 shades or 256 shades

A PCX-format graphics file must have the extension .PCX. A PCX-format logo file must have the
extension .LCX. WIN32 bitmap files must have the extension .BMP.

The maximum size of the graphic that can be printed depends on the specific printer and XFS SP.
Refer to the documentation provided with the printer.

Text files must contain only printable text data and line termination characters. Text files must have
the extension .TXT or the extension .PRN.

Printing graphic files, logo files, or text files containing line feeds increments the Agilis 3 91x line
count by one.

ESC I
Agilis 3 91x can combine the text received in the Printer Data field of the Function Command
message with text stored as screen data in terminal memory. The text stored as screen data is
called configured text . When the network configures the terminal, the network downloads both
consumer display screens and configured text screens in Write Command 2 messages.

The valid range for screen numbers is decimal 000 through 511. Each screen can contain a
maximum of 500 characters.

To print the configured text contained in a screen, the network includes the ESC I control sequence
and the three-digit screen number in the Printer Data field of the Function Command message. The
ESC I control sequence can be used anywhere within a line, which allows both Function Command
message text and configured text to be printed on one line.

If a screen contains control characters that are not valid printer control sequences as described in
this section, the terminal cannot print the screen. Agilis 3 91x might not report the error to the
network.
The ESC I control sequence is allowed within the configured text. Including an ESC I control
sequence in the configured text causes Agilis 3 91x to insert configured text from a second screen
into the printer data from the first screen. This technique is referred to as nesting. Agilis 3 91x
allows up to five levels of nesting. However, nesting should be kept to a minimum because each
level uses up additional system resources.

If one of the screens contains an ESC Q control sequence, the fifth level of nesting is discarded.

ESC L
The ESC L 1 control sequence enables landscape mode. Landscape mode rotates printing 90
degrees clockwise.

Pass-through mode (ESC N) cannot be used while in landscape mode. All other control sequences
are permitted while in landscape mode.

The maximum number of lines of text and the maximum number of text characters per line that can
be printed in landscape mode depend on the printer and on the size of the paper. Refer to the
documentation provided with the printer.

When a receipt is printed in landscape mode, if the print data does not end with an explicit formfeed
(FF) or cut command (ESC C), Agilis 3 91x delivers the receipt during the succeeding Close state if
any one of the following conditions is met:

 An explicit linefeed (LF) is included anywhere within the print data.


 The print data does not include an explicit landscape termination command (ESC L 0).

If none of the preceding conditions is met, the printed receipt is not delivered during the Close state.

ESC N
The ESC N control sequence allows the host to send raw printer data and control sequences to the
printer. This technique is called pass-through mode because the print data passes through Agilis 3
91x without any filtering or processing of the print data.

NOTE

The host programmer using pass-through mode is responsible for making sure that the data
passed through to the printer is compatible with the printer-specific character sets, control
sequences, and operating characteristics of the target printer. Refer to the documentation
provided with the printer.

Pass-through mode is enabled by the control sequence ESC N 1. The printer data that follows ESC
N 1 must be in expanded ASCII format. Agilis 3 91x compresses the data into normal (non-
expanded) ASCII format before passing the data to the printer. Agilis 3 91x performs no other
processing or filtering of the data that follows ESC N 1.

Expanded ASCII format: In expanded ASCII format, a printer data byte of B5 (ASCII hex) is sent to
the terminal as the letter B followed by the number 5 (42 35 in ASCII hex). This method doubles the
size of the printer data transmitted to the terminal, but removes all restrictions on the content of the
printer data.

When ESC N 1 is used, it must be the first three bytes in the block of print data. The pass-through
data is terminated by an ESC N 0 control sequence (in non-expanded ASCII format) or by the end
of the print data block (a block corresponds to one printer data field in a host message). If the ESC
N 0 control sequence is included in the print data, ESC N 0 must be the last three bytes in the print
data block. Therefore, pass-through mode data and normal mode data cannot be included in the
same block of print data.

NOTE

If line feed or form feed control sequences are sent to the printer in pass-through mode,
Agilis 3 91x cannot update the line count properly. The host programmer using pass-through
mode is responsible for counting lines and ensuring proper form length.

ESC Q (terminals with IDM only)


The ESC Q control sequence prints the contents of the last window read by an Image Character
Recognition state (operation 001). Typically, this is the courtesy amount from a deposited check,
but it could be any character recognition data, depending on the Image Character Recognition state
data. The default size for this image is 100%.

ESC R (terminals with IDM only)

NOTE

The ESC R control sequence can be used for receipt printers only. Network programmers
should not send printer data containing ESC R to a journal printer.

The ESC R control sequence prints a scanned image of the front of a deposited check. The format
for the ESC R control sequence is as follows:

ESC R nnn

The parameter nnn specifies the length of the check image in millimetres (000 to 106). All scaling is
done proportionally, horizontally and vertically. Due to the granularity of the scaling algorithm, the
actual image is only an approximation of the requested size. If a length greater than 106 is
requested, the largest available image is printed.

By default, Agilis 3 91x suppresses the MICR line on the printed image of the check. In the position
corresponding to the MICR line, the printed check image contains a solid rectangle. This feature
can be disabled by using the Agilis Configuration Utility.

Agilis 3 91x can be configured to suppress the name and address area and the signature area on
the printed image, in a manner similar to the suppression of the MICR line. This feature is disabled
by default, but the feature can be enabled by using the Agilis Configuration Utility.

Typically, landscape mode (ESC L) is used for printing the check image. Landscape orientation
allows the image of the check to be printed as large as possible on the receipt. To print the scanned
image in landscape mode, the ESC L 1 control sequence must precede the ESC R nnn control
sequence. The ESC L 0 control sequence must follow the ESC R nnn to take the printer out of
landscape mode. If it is desired to have text printed in landscape mode along with the check image,
the text can be placed anywhere between the ESC L 1 control sequence and the ESC L 0 control
sequence.

NOTE
If the width of the image exceeds the width of the printable area on the paper (paper width,
minus print margins), Agilis 3 91x automatically adjusts the size of the check image to fit.

The check image can also be printed in portrait mode. In this case, the image is scaled so that the
length of the check image does not exceed the width of the printable area on the paper.

NOTE

ESC R prints the most recently captured check image at the time of printing. Since it is
possible for the terminal to accept a second check before completing the receipt for the first
check, this property can result in printing the image of the second check on the receipt for
the first check. To avoid this result, make sure that receipt printing is synchronized with the
check deposits (for example, by using Print and Wait operations).

ESC r (terminals with IDM with dual scanners only)

NOTE

The ESC r control sequence can be used for receipt printers only. Network programmers
should not send printer data containing ESC r to a journal printer.

The ESC r control sequence prints a scanned image of the back of a deposited check. The format
for the ESC r control sequence is as follows:

ESC r nnn

ESC r operates in a similar manner to the ESC R control sequence. Refer to the description of the
ESC R control sequence for details.

ESC s
The ESC s control sequence selects a character set to temporarily function as the first alternate
character set, in place of the first alternate character set specified during Agilis 3 91x installation.
The characters that immediately follow ESC s are the map filename, including the extension, for the
desired character set. The map filename must be terminated by a semicolon ( ; ). The character set
selected remains in effect until the end of the current block of print data.

The following list shows the map filename for each of the standard character sets:

 Standard English - STD14CPI.MAP


 Standard Alternate - STDOPT.MAP (or STDOPT58.MAP, or STDOPT60.MAP)
 Greek - GREEK.MAP
 Portuguese - PORTUGU.MAP
 Cyrillic/Latvian - CYRILLIC.MAP
 Hungarian/Latin - HUNLATIN.MAP
 Turkish - TURKISH.MAP
 Hebrew - HEBREW.MAP
 Arabic - ARABIC.MAP (or ARAB1017.MAP, or ARAB1217.MAP)
 Arabic Script - ARABSC12.MAP
 Lithuanian - LITHUANI.MAP
 Code Page 850 - CP850.MAP (or CP850U.MAP)

ESC s does not enable the character set for printing. The VT or ESC 4 control sequences must be
used to enable the first alternate character set. For details on how to use the ESC s control
sequence, refer to Section 4.4.

ESC T
The ESC T control sequence allows the host to send print data that exceeds the maximum Agilis 3
91x receive buffer size. The print data can be split into two blocks. The two blocks of print data are
then sent to the terminal in two separate Function Command messages. The first block of print data
must end with a line feed, if the data is not pass-through data. The second block of data must begin
with ESC T.

Character attributes (character pitches, emphasis, and so on) set in the first block remain in effect
for the second block.

4.3 Control Sequences for Statement Printers

The graphics-related strategies allow the network to change the printing characteristics of the
statement printer by sending appropriate control sequences with the printer text in the Printer Data
field in a Function Command message. The printing characteristics include the character set, the
horizontal and vertical pitches, the printing density, and the printing width.

The statement printer uses a subset of the Epson570 escape codes. The following table lists the
control escapes that are supported in double byte mode. Single byte mode supports a subset of this
table as indicated below.

The control sequences for the statement printer are shown in Table 4-14.

Table 4-14 Printer Control Sequences for Statement Printers


Control Code Notes Description
BS 08 Backs Space.
VT 0B Enables the first alternate character set for one character.
LF 0A 1 Renders any buffered print data into the print image. Advances the vertical
print position within the print image one line using the current line pitch
setting. Moves the horizontal print position to the left margin position.
FF 0C Completes and returns the print image to the calling application, and
generates top of form, cut, and deliver events.
CR 0D 1 Moves the horizontal print position to the left margin position of the current
line. If any printable characters have been received for the current line, they
remain buffered, and any subsequent print data will overlay it. “Overlay"
means that new data will replace any old data, leaving any un-replaced old
data as part of the current line.
SO 0E Fills an area with blanks (space characters). The character following SO
defines the number of blanks. The range for the character following SO is
ASCII 31 through 3F (decimal 1 through 15).
ESC ! 1B 21 6 Master Select. Selects any combination of typestyles from list below. To
n n determine n, add together the numbers of all desired typestyles from list
below:

0: 10 cpi

1: 12 cpi

8: Bold

32: Double Width Printing

64: Italic Printing

128: Underline These are bit-mapped values; any other bit values will
produce an exception.
ESC $ 1B 24 6 Set absolute horizontal print position using the following formula:
n1 n2 n1 n2
(n2 * 256 + n1) * (1/203 inch) + (left margin)

This is 1/203-inch increment horizontal positioning control. If the increment is


beyond the right margin, this command is ignored.
ESC ( 1B 28 6 Set absolute vertical print position using the following formula:
V20 56 02
n1 n2 00 n1 (n2 * 256 + n1) * (1/203 inch) + (top margin)
n2
This is a 1/203-inch increment vertical positioning control. If the increment is
beyond the bottom margin, vertical print position is moved to the top margin
of the next page, i.e., a form feed results.
ESC ( 1B 28 6 Set relative vertical print position.
v20 76 02
n1 n2 00 n1
n2
ESC ( 1B 28 6 Print n as character. Used to print characters normally used as control
^n 5E n codes.
ESC - 1B 2D Disables underline printing.
0 30
ESC - 1B 2D Enables underline printing.
1 31
ESC 0 1B 30 Select 1/8 inch line spacing, or 8 lines per inch.
ESC 2 1B 32 Select 1/6 inch line spacing, or 6 lines per inch.
ESC 3 1B 33 2,6 Set n/203 inch line spacing, or 203/n lines per inch.
n n
ESC 4 1B 34 Select italic font.
ESC 5 1B 35 Cancel italic font and use standard font.
ESC 6 1B 36 Enables alternate character set for more than one character.
ESC 7 1B 37 Disables alternate character set and enables standard character set.
ESC 1B 40 Initialize printer. This command does not cause any motion of the paper or
@ cutter.
ESC D 1B 44 3 Print the specified graphics file. The characters that immediately follow ESC
D are the graphics file name plus extension of the file to print. The file name
must be terminated by a semicolon, and conform to the supported graphics
file extensions. Unsupported file types will generate an exception.
ESC E 1B 45 Enables emphasized printing.
ESC F 1B 46 Disables emphasized printing.
ESC J 1B 4A 6 Advance vertical print position by n/203 inch.
n n
ESC M 1B 4D Sets 12 CPI horizontal pitch.
ESC N 1B 4E Disables data pass through mode. As part of protocol validation, this event
0 30 will generate an exception if received after printable data has been rendered
into the print image since the last form feed.
ESC N 1B 4E Enables data pass through mode, if no printable data has been rendered
1 31 into the print image since the last form feed, otherwise generates an
exception.
ESC N 1B 4E 4,5 Reset data pass through mode.
2 32
ESC P 1B 50 Sets 10 CPI horizontal pitch.
ESC Q 1B 51 Prints a Scanner Image from the Recognition Subsystem (RSS) - typically a
small region of a check. Causes the Data Converter to request the image
data from the calling application, and then imbeds the scanner image into
the print image.
ESC R 1B 52 Prints a scanned image of the entire check. Causes the Data Converter to
request the image data from the calling application, and then imbeds the
scanned image into the print image.
ESC T 1B 54 The following data is a continuation of the previous data.
ESC 1B 57 Cancels double-width printing.
W0 30
ESC 1B 57 Sets double-width printing.
W1 31
ESC \ 1B 5C 6 Set relative horizontal print position using the following formula:
n1 n2 n1 n2
(n2 * 256 + n1) * (1/203 inch) + (current pos)

Examples:

To move left from current pos by 0.5 inches:

-0.5 = (n2 * 256 + n1) / 203

-101= (n2 * 256 + n1)

0xff9b = 0xff * 256 + 0x9b

so n1 = 0x9b, n2 = 0xff
To move right from current pos by 1.3 inches:

1.3 = (n2 * 256 + n1) / 203

264 = (n2 * 256 + n1)

0x0108 = 0x01 * 256 + 0x08

so n1 = 0x08, n2 = 0x01
ESC e 1B 65 6 Set top margin.
n n
ESC g 1B 67 Sets 15 CPI horizontal pitch.
ESC l 1B 6C 6 Set left margin n, where n is the column count using the current character
n n pitch value.
ESC s 1B 73 Select character set. The characters that immediately follow ESC s are the
character set Moniker and must be terminated by a semicolon (which is
stripped off).
ESC z 1B 7A Disables the character set previously selected (standard or alternate), and
0 30 reverts to the prior character set selected (standard or alternate).
ESC z 1B 7A Enables the second alternate character set (more than one character).
1 31

NOTE

1. A complete text line will not necessarily be immediately delivered to the calling application,
and may be delivered line by line, or as a block of lines when a form feed is encountered,
depending upon the specific text strategy.
2. This control sequence originally was tied to a specific printer device at a specific dot pitch,
203 dots per inch. It can now be considered a way to calculate line pitch values with a
peculiar conversion constant, 203/n. For example, if the desired line pitch is 2 lines per
inch, select n = 101.
3. Restricted to image files of the supported image types.
4. This control has no equivalent in the 91x host interface.
5. Interpreted as a silent reset of the current mode (landscape or pass through). If received
while in the respective mode, any pending print data to be discarded, and the converter
state to be reset to initial state, ready for a new print job.
6. Not supported in single byte mode.

The Epson print format contains escape codes that use binary data. These characters can't be sent
over a 7-bit network.

4.4 Changing Character Sets

During Agilis 3 91x installation, one character set is designated the primary character set, one set is
designated the first alternate set, and one set is designated the second alternate set. For systems
that require access to more than three character sets, the ESC s control sequence provides access
to all the character sets defined for Agilis 3 91x.

Propagation of Character Attributes


When changing from one character set to another (for example, from the primary character set to
the first alternate character set), the vertical and horizontal pitch settings for the first character set
are always propagated to the second character set.

If Agilis 3 91x is configured to enable attribute persistence , the following attributes are also
propagated to the second character set:

 Emphasis (bold)
 Underline
 Double height
 Double width

To determine if attribute persistence is enabled for your system, refer to the Agilis 3 91x installation
documentation for your system.

First Alternate Set, Single Character


To print a single character from the first alternate character set, use the VT control character, as in
the following procedure:

1. Enable the first alternate character set using the VT control character.
2. Specify the character of the first alternate character set using the appropriate ASCII or
EBCDIC code.

The printer automatically reverts to the primary character set after printing the single character of
the first alternate character set. An example of this procedure is shown in the following table.

ASCII Data Description


0B VT control character enabling the first alternate character set
20 ASCII code for the first character in the first alternate character set
[1]
XX Printing automatically returned to the primary character set
[1]
XX denotes any character.

First Alternate Set, Multiple Characters


On statement printers, the ESC 6 and ESC 7 control sequences can be used to print multiple
characters from the first alternate character set.

To print several characters from the first alternate character set, use the ESC 6 control sequence,
as in the following procedure:

1. Enable the first alternate character set using the ESC 6 control sequence.
2. Specify the characters of the first alternate character set by using the appropriate ASCII or
EBCDIC code.
3. Revert to the primary character set using the ESC 7 control sequence.

An example of this procedure is shown in the following table.

ASCII Data Description


1B 34 ESC 6 control sequence enabling the first alternate character set
20 ASCII code for the first character in the first alternate character set
21 ASCII code for the second character in the first alternate character set
22 ASCII code for the third character in the first alternate character set
23 ASCII code for the fourth character in the first alternate character set
1B 35 ESC 7 control sequence enabling the primary character set

Second Alternate Set


To print several characters from the second alternate character set, use the ESC z 1 control
sequence, as in the following procedure:

1. Enable the second alternate character set using the ESC z 1 control sequence.
2. Specify the characters of the second alternate character set by using the appropriate ASCII
or EBCDIC code.
3. Revert to the primary character set by using the ESC z 0 control sequence.

An example of this procedure is shown in the following table.

ASCII Data Description


1B 7A 31 ESC z 1 control sequence enabling the second alternate character set
20 ASCII code for the first character in the second alternate character set
21 ASCII code for the second character in the second alternate character set
22 ASCII code for the third character in the second alternate character set
23 ASCII code for the fourth character in the second alternate character set
1B 7A 30 ESC z 0 control sequence enabling the primary character set

Other Character Sets


To print characters from a character set that is not one of the configured primary or alternate
character sets, use the ESC s control sequence, as in the following procedure:

1. Select the desired character set. Use ESC s with the appropriate map filename to
temporarily designate this character set as the first alternate character set. (Refer to the
description of ESC s in Section 4.2 for a list of map filenames for the primary character
sets.)
2. Enable the desired character set (temporarily equivalent to the first alternate character set)
using the ESC 4 control sequence.
3. Specify the characters of the first alternate character set by using the appropriate ASCII or
EBCDIC code.
4. Revert to the primary character set using the ESC 5 control sequence.

An example of this procedure is shown in the following table.

ASCII
Data Description
IB 73 xx ESC s X...X;
... 3B
ESC s control sequence selecting a character set to use as the first alternate character
set. X...X represents any valid map filename. xx... represents the ASCII hex data for
X...X.
1B 34 ESC 4 control sequence enabling the first alternate character set
20 ASCII code for the first character in the first alternate character set
21 ASCII code for the second character in the first alternate character set
22 ASCII code for the third character in the first alternate character set
23 ASCII code for the fourth character in the first alternate character set
1B 35 ESC 5 control sequence enabling the primary character set

Miscellaneous Comments
You can enable a character set anywhere within a line, thus allowing the terminal to print characters
from the primary character set and one of the alternate character sets on one line.

ESC z 1 cannot be used with ESC 4 or VT on the same print line.

4.5 Standard Format for the Receipt

Figure 4-1 shows an example of a receipt printed in the standard format.

Table 4-15 describes the standard format illustrated in Figure 4-1. Table 4-16 shows a breakdown
of the actual printer data required to produce the example receipt.

Figure 4-1 Standard Format for Receipts


Table 4-15 Standard Print Format for the Receipt
Area on
Form Line Description
Date 1 The actual date in the format MM/DD/YY, where MM = month, DD = day, and
YY = year ( b is a space)
Time 1 The time in the format HH:MM , where HH = hours and MM = minutes
Machine 1 The three-character LUNO used in the Consumer Request message
Account 4 The consumer's account number containing up to 20 contiguous characters
Number
Courtesy 5 - 7 This area consists of the three lines (with a maximum of 25 characters per line)
Message that contains a courtesy message
Business 9 The institution's business date in the format MM/DD/YY, where MM = month, DD
Date = day, and YY =year
Code 12 - For each transaction, Code contains the Transaction Code and Error Code in
17 the format TTEE, where TT = Transaction Code and EE = Error Code. Any
additional (non-standard) characters must be printed on subsequent lines
Serial 12 - For each transaction, Serial contains the Transaction Serial Number sent in the
17 Function Command message in four contiguous characters plus four blanks
Amount 12 - For each transaction, Amount contains the transaction's amount in 13
17 contiguous characters (including decimal point) for a maximum value of
9999999999.99
Table 4-16 Example of Printer Data Field
ASCII Hex
Characters Code Description
08/19/04 30 38 2F 31 Date to be printed
39 2F 30 34
20 20
12:00 31 32 3A 30 Time to be printed
30 20 20
021 30 32 31 Terminal number to be printed is equivalent to the logical unit
number (LUNO) specified in the original Consumer Request
message from the terminal
LF 0A Control character that specifies a print and line feed
LF LF 0A 0A Two more line feeds position printer head to line 4 on the
receipt
1234567890123456 31 32 33 34 Account number to be printed (this number can be read from
35 36 37 38 track 1, 2, or 3 of consumer's card. Track data is normally
39 30 31 32 sent to the network in the Consumer Request message)
33 34 35 36
LF 0A Print and line feed
SO 4 THANK YOU 0E 34 54 48 The SO control character specifies that the number following
FOR 41 4E 4B 20 the character (4 in this case) is the desired number of spaces.
59 4F 55 20 Following the 4 spaces is the first line of the courtesy
46 4F 52 message
LF 0A Print and line feed
SO 7 BANKING 0E 37 42 41 Seven spaces, then the second line of the courtesy message
4E 4B 49 4E
47
LF 0A Print and line feed
SO 7 WITH US 0E 37 57 49 Seven spaces, then the last line of the courtesy message
54 48 20 55
53
LF 0A Print and line feed
LF 0A One line feed positions printer head to line 9
08/19/04 30 38 2F 31 Business date to be printed
39 2F 30 34
LF 0A Print and line feed
LF LF 0A 0A Two line feeds position printer head to line 12
11 SO 3 31 31 0E 33 A transaction code of 11 is to be printed (the reverse side of
form typically gives an explanation of these codes). The SO
control character specifies that the number following it (3 in
this case) is the desired number of spaces to follow the code
characters
1234 31 32 33 34 Serial number of transaction to be printed (this number is
20 20 20 20 generated by the network and is increased by one digit for
each consumer transaction)
£150.00 0B 25 31 35 Pound amount of transaction to be printed
30 2E 30 30
LF 0A Print and line feed
FF 0C Command to the receipt printer to do a form feed and receipt
paper burst

4.6 Journal Printer Roll Format

If both the receipt printer and the journal printer use a graphics-related strategy, the same print data
can be used to print transaction information on both the receipt and the journal printer roll. The
transaction entry on the journal printer roll would then look exactly like the printed receipt with one
exception: form feeds (FF control character) are ignored.

Section 5
Configuration Data
All configuration data is loaded into the terminal using Write Command messages. Configuration
data is divided into the following four categories:

 States - State tables direct the terminal to the tasks to be performed during each part of a
transaction.
 Screens - Screen data contains display, control, and delimiter characters for different
screens that must be shown during different parts of a transaction.
 Miscellaneous - Miscellaneous data consists of terminal parameters (capabilities), LUNO (a
unique number identifying each terminal), and terminal timer values.
 Financial Institution Tables (FIT) entries - FIT entries provide information used for
identifying the institution a card is issued by, decoding or encoding of data, and for
electronic fund transfers. Refer to the Data Security Procedures and Reference Manual
(TP-799530-001E) for details.

Because configuration data resides in terminal memory, configuration data is erased when the
terminal loses power or is turned off. When power is restored or the terminal is turned on, the
network requests a configuration ID from the terminal. If the configuration ID sent by the terminal
does not match the configuration ID at the network, the network sends a new configuration load to
the terminal.
5.1 Buffers

The terminal contains buffers A through Z, specified in a three-digit decimal format as 065 through
090, and enhanced buffers 256 through 355. Some of these buffers are used by Agilis 3 91x for
specific purposes and should not be used for other functions to avoid conflict with other internal
operations of the terminal. Some of these buffers are reserved to ensure compatibility with TCS.
The following list shows how the terminal buffers are used.

Buffer ID Name or Use


065 (A) Dollar Buffer
066 (B) General Purpose Buffer B (also, OAR use)
067 (C) General Purpose Buffer C
068 (D) to 075 (K) Reserved
076 (L) Printer line length
077 (M) Reserved
078 (N) Consumer name from track 1
079 (O) Function Key Buffer
080 (P) Receipt printer data
081 (Q) Depository printer data
082 (R) Journal printer data
083 (S) Reserved for future use
084 (T) Transaction serial number
085 (U) OAR data
086 (V) Passbook printer data
087 (W) MICR data (used with IDM)
088 (X) Track 1 data
089 (Y) Track 2 data
090 (Z) Track 3 data
256 Reserved for future use
257 Reserved
258 - 299 Available for use at the network programmer's discretion
300 - 309 Reserved for future use
310 - 325 Currency acceptor data
326 Reserved for future use
327 Passbook page number on which it was inserted
328 Number of the first empty line on the inserted page of the Passbook
329 Data read from the passbook magnetic stripe
330 - 338 Reserved for future use
339 Encrypting PIN pad (EPP) data
340 - 341 Reserved for future use
342 - 345 Currency acceptor data
346 - 353 Reserved for future use
354 - 355 Currency acceptor data
401 Cash Deposit Amount
402 Currency Type
403 Count

The enhanced buffers (256 through 355) can be used by many of the Agilis 3 91x states and
function commands, but not by all of the states and function commands. To determine if a particular
state or function command can use the enhanced buffers, refer to the detailed description of the
state or function command in question.

On terminals using a currency acceptor, buffers 310 through 325, 342 through 345, 354, and 355
are reserved for system use, as described in Section 5.5.3 and Section 3.1.1. When a currency
acceptor is installed and enabled at the terminal, the network programmer should use these
reserved buffers only as described for cash deposit transactions, and should not use these buffers
for any other type of transaction or function.

Buffers 258-299 may be configured to maintain their content across transactions. Refer to the
Miscellaneous 91x Features section in the Agilis 3 91x, Service Pack (SP) 4, Installation and
Configuration Guide (TP-821745-001A). Be aware that this creates a security risk as Agilis 3 91x
will not know what data is actually stored in these buffers. Network implementations via states or
activity flow may indeed violate PCI-DSS or institutional privacy rules by using these buffers.
Enabling this feature places a responsibility on the terminal programmer or the financial institution
owning the terminal to appropriately manage the content of these buffers.

NOTE

The recommended values of buffers are within the buffer-ranges specified for each buffer.

5.2 Write Command Messages Overview

The following Write Command messages are used to download configuration data (Table 5-1).

Table 5-1 Write Command Messages for Terminal Configuration


Refer
Message Configuration Data to...
Write State information. This state information directs the terminal tasks during a Section
Command 1 transaction. 5.3
Write Screen information (display, control, and delimiter characters for different Section
Command 2 screens to be shown on the consumer display). The Multilingual feature, 5.6
voice guidance, key mapping, and rear balance activities also use this
message to download configuration information.
Write Miscellaneous configuration parameters, the Diebold logical unit number Section
Command 3 (LUNO) for the terminal, and timer information 5.15
Write Financial Institution Table (FIT) information Section
Command 6 5.16
Write Encryption key changes Section
Command 7 5.17
Write Configuration ID for the terminal configuration data Section
Command 8 5.18
Write Format templates Section
Command 5.19
18
Write Configuration data for subsidiary applications, such as EMV Section
Command 5.20
19
Write Bill types for the currency acceptor Section
Command 5.21
20

The following sections show the format for each configuration message type used in the system.
Individual variable fields in Agilis 3 91x messages are not restricted in size (unless otherwise noted
on a per-field basis), but the total message length cannot exceed 8192 bytes.

NOTE

Although Agilis 3 91x permits messages up to 8192 bytes in length for all types of
messages, the network protocol used by the terminal or other network constraints might
limit message lengths to something less than 8192 bytes.

All the message tables in this manual use the notation conventions set forth in Table 5-2.

Table 5-2 Notation Conventions for Message Tables


Notation Description
X The letter X in the Data column indicates that the terminal ignores the data. However,
data for this field must be a valid character as described in this manual. An example of
invalid data for this notation is a null character (hex 00).
--- Three dashes in the Data column indicate that the data is dependent on the specific
transaction performed and the range of valid values for the field. Refer to the field
descriptions in this manual.
Variable The term Variable indicates that the length or the content of the field is variable. In the
Data field, the term Variable indicates that the data is not necessarily character based. In
the Number of Characters field, if a number in parentheses follows the term Variable, that
number indicates the maximum number of characters allowed in the field.
[] Brackets indicate that the field is optional. The field can be deleted completely from the
message without affecting the format or meaning of the message. If the field is present in
the message, the data for this field must be a valid character as described in this manual.
An example of invalid data for this notation is a null character (hex 00).

All the Write Command messages have some common fields (Table 5-3). The remainder of the
Write Command messages fields are described with each individual Write Command message.

Table 5-3 Write Command Message Common Fields


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) --- 1
Modifier --- 1
Field Separator (FS) hex 1C 1
This is the area where fields specific to each Write Command messages are placed. These
fields are described with each specific Write Command.
[1]
[ Field Separator (FS) ] [ hex 1C ] [1]
[1]
[ MAC Data ] [---] [8]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields (FS / MAC Data) is present only when message authentication (MAC) is used.

The following paragraphs describe the common fields in a Write Command message.

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Write Command Identifier


Field Size: 1 character
Valid Range: 3
Description: This one-character data field defines the type of message being transmitted. The only
valid value for a Write Command message is 3.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The terminal includes the LUNO (and the terminal's six-character machine
number, if defined AND MAC is enabled) in messages sent to the network. If desired, the network
can put the LUNO (and machine number, if applicable) in messages sent to the terminal. However,
the terminal ignores any data that it receives in this field.

The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).

Message Sequence Number


Field Size: Variable (up to 8 characters)
Valid Range: Refer to the description.
Description: The message sequence number is a network-generated number that identifies the
message for tracking. The terminal does not use this number. If the Message Sequence Number in
Solicited Status Messages feature is selected, Agilis 3 91x returns this number to the network in the
Solicited Status message sent in response to the Write Command message.

Write Identifier
Field Size: 1 character
Valid Range: 1 through 3
Description: This one-character data field tells the terminal that configuration data follows. The
valid values are defined as follows:
 1 - Configuration data
 2 - Open Account Relationship message (OAR)
 3 - Encryption keys

Modifier
Field Size: 1 character
Valid Range: Refer to the description.
Description: This one-character field identifies the type of configuration data to follow. If the Write
Identifier is 1 (configuration data), the valid values are as follows:
 1 - Screens
 2 - States
 3 - LUNO, miscellaneous parameters, timers
 5 - FITs
 6 - Configuration ID
 @ - Format templates
 A - Subsidiary applications data
 B - Currency acceptor bill types

If the Write Identifier is 3 (encryption key change), this field tells the terminal which key(s) to use for
encryption and message authentication (Section 5.17).

MAC Data
Field Size: 8 characters
Valid Range: Hexadecimal digits (0 through 9, and A through F)
Description: This eight-character field contains hexadecimal characters that represent the MAC
calculation of the Write Command message. Refer to the Data Security Procedures and Reference
Manual (TP-799530-001E) for additional details.

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

5.3 Write Command 1 Message (States)

This message is used to load state tables into terminal memory. The maximum message length for
this command is 8192 characters from header to ETX. Because of message length limit,
transmission of state tables might occur in several messages. Each message contains a portion of
the state tables. There are two different types of states: 9000-style states and enhanced states.

Each state is associated with a specific task. For example, while the terminal is in the Select
Function state, the terminal is dedicated to the task of prompting the consumer to select a function
and recognizing the key (function) selected. Only those subroutines and hardware components
(such as consumer display and keypad) that facilitate function selection are used.

The terminal requires the repeated use, in different ways, of some states. For instance, the
consumer must select the type of transaction (deposit, withdrawal, inquiry, or other) and later they
must select the type of account. Both tasks are performed using different versions of the Select
Function state.

Each state type can have one or more state tables associated with it. Each state table, of the same
state type, is a different version of that state providing the same type of functions, but used in a
different manner. The different state tables are identified by a three-digit number called the state
number.

9000-style States
Each 9000-style state table is 28 characters long. State tables consist of a state number, followed
by nine data entries. Each state table contains the following elements:
 State number - The state number is a three-digit number that identifies the individual table.
 State type - The state type is a single ASCII character that identifies the type of state.
 The other eight entries specify the actions performed (such as screen displayed, buffers
used and next state table). Each entry is three characters long.
NOTE
State table 000 is the first state table the terminal is in when the terminal enters the
In-service mode. State table 000 is usually a Card Read state.
The terminal should always return to a Close state after the consumer's
transaction(s) have been completed.

The terminal can use one state type several times while processing a transaction. Depending upon
the transaction that the consumer has requested, other state types might not be used at all. The
use of these state types, in any order, defines terminal operation. 9000-style states are described in
Section 5.4.

Enhanced States
There are a number of enhanced states that Agilis 3 91x can use in addition to the 9000-style
states. These enhanced states can be used with the 9000-style states to increase the flexibility of
the terminal. Unlike the standard 9000-style states, which are a fixed length, the enhanced states
format and length are specific to their purpose. Enhanced states are described in Section 5.5.

State Processing Failure


If, at any time, a state fails to process properly, an Unsolicited Status message is sent to the
network. This status message contains the power fail code (1) and the terminal LUNO. For
example, a status message of 12.nnn..1 is sent, where nnn is the LUNO number of the affected
terminal, and the period characters represent field separators (hex 1C).

5.3.1 Valid State Numbers

For Agilis 3 91x, the valid range of state numbers is 000 through 254, 256 through 999, 0AA
through 9ZZ, A00 through Z99 and AAA through ZZZ.

5.3.2 Write Command 1 Message Format

The Write Command 1 message format is shown in Table 5-4. The fields common to all Write
Command messages are shaded. Only the fields specific to the Write Command 1 message are
described here.

Table 5-4 Write Command 1 Message Format


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) 1 1
Modifier (States) 2 1
Field Separator (FS) hex 1C 1
State Data --- Variable
[1]
[ Field Separator (FS) ] [ hex 1C ] [1]
[1]
[ State Data ] [---] Variable
[2]
[ Field Separator (FS) ] [ hex 1C ] [1]
[2]
[ MAC Data ] [---] [8]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields (FS / State Data) can be repeated, as necessary, to a maximum of 8192 bytes
per Write Command 1 message.
[2]
This set of fields (FS / MAC Data) is present only when message authentication (MAC) is used.

The following paragraphs describe the fields specific to the Write Command 1 message.

State Data
Field Size: Variable
Valid Range: Refer to the description.
Description: This field contains the state data for one state table. The state data is described in
Section 5.4.

NOTE

The field separator and state data can be repeated as necessary to a maximum of 8192 bytes
(total message length).

5.4 9000-style States

A summary of all the 9000-style states is shown in Table 5-5.

Table 5-5 9000-style State Summary


State
State Name Type Description
Card Read A Reads the magnetic stripe or connects to the chip on the consumer's card,
and stores the data. Usually points to a PIN Entry state as the next state.
PIN Entry B Reads the PIN entered by the consumer and verifies that the PIN entered is
valid. Usually points to a Clear Keys state as the next state.
Deposit C Tells the terminal how to process a deposit operation.
Clear Keys D Clears and sets any or all 8 bytes of the Function Key Buffer.
Select E Reads the code of each function key pressed by the consumer. The key
Function codes are stored in the Function Key Buffer. The next state varies depending
on the consumer's selection.
Dollar Entry F Reads a transaction amount, displays that amount on the consumer display,
and stores the amount in the Dollar Buffer. If a withdrawal transaction is
being processed, typically a Cent Check state is the next state, unless the
terminal has a coin dispenser. Otherwise, a Clear Keys state is typically the
next state.
Cent Check G Verifies that the transaction amount entered by the consumer is a whole-
dollar amount (zero cents). If the amount entered by the consumer is not a
whole-dollar amount, the next state is always determined by the network
configuration. Otherwise, a Clear Keys state is typically next.
Information H Reads in a variable-length string of numerical keys and stores that data in a
Entry General Purpose Buffer (B or C). Optionally, the terminal displays the data on
the consumer display. If the consumer presses the Cancel key, a function
key, or times out during data entry, the input string is terminated. The next
state depends on the consumer's input.
Transaction I Sends a Consumer Request message to the network and executes the
Request function commands received from network. The next state depends on the
network response.
Close J Returns or retains the consumer's card and optionally issues a printed receipt
to the consumer. Typically, the next state table used is 000 (a Card Read
state preparing the terminal for the next consumer).
Indirect Next K Used to modify selection paths based on FIT table entry and institution type.
The terminal can use customized state tables for a specific institution's
consumers. The terminal can provide different functions to different
consumers depending on the consumer's institution.
PIN Entry M Converts to the B state.
Set Dollar R The Set Dollar Buffer state is typically used for fast cash transactions. In a
Buffer fast cash transaction, the consumer uses a function key to choose both the
transaction and the amount instead of entering the amount through the
numeric keys of the keypad. After the consumer selects the fast cash
transaction, the Set Dollar Buffer state is used to automatically place the
appropriate amount in the Dollar Buffer.
Check Track Z The Check Track Buffer state examines track data to define the terminal's
Buffer personality for the current consumer. The state provides conditional
branching of the state table sequence and can change the index for Indirect
Next state processing. (This index is initially set to the value of the PSTDX
from the FIT identified during the Card Read state.)
Deposit # The Deposit Extension state extends the Deposit state (C), providing the
Extension network with additional fault handling for deposit operations.
Voice ; The Voice state can be used to turn the Voice feature on and off. Turning
voice off aborts any message in progress, purges any messages pending in
the delay queue, and idles the device. If the Voice feature is turned off by this
state, the only way to turn the Voice feature back on, without resetting the
terminal, is to execute another Voice state. The Voice state can also be used
to turn on the Voice Keypad Feedback feature.
Copy Buffer = Split deposits and any other operations requiring more than one Dollar Entry
state are supported by the Copy Buffer state. By following Dollar Entry states
with Copy Buffer states, and by changing the appropriate entry in the
Transaction Request state, up to three transaction amounts can be included
in the Consumer Request message without requiring changes to the format
of that message.
Function Key > The Function Key Extension state extends the B, D, E, F, H, and I state
Extension tables to support the use of additional function keys.
Delivery Area ? The Delivery Area Sensors state provides additional control of a dispense
Sensors operation. This state directs the terminal to check the delivery area sensors
and modify the transaction sequence based on the result.
Set [ The Set Language Bank state is used to select the appropriate language
Language bank to use for screen retrieval when supporting the Multilingual feature.
Bank
Buffer \ The Buffer Arithmetic state adds or subtracts ASCII decimal buffers.
Arithmetic

The following sections describe each of the 9000-style states.

5.4.1 Card Read State (A)

The Card Read state table is usually the first state table used during transaction processing. This
state table is normally assigned state number 000. The terminal enters state number 000
automatically when it goes in-service.

The Card Read state performs the following functions:

 Identifies the number of the consumer display screen displayed for prompting card insertion
 Identifies the consumer display screen displayed after a misread
 Defines the card track(s) from which data is read (Table 5-7)
 Sets a flag for the card return feature (immediately or at the end of the transaction)
 Points to the next state number for cards that are read properly
 If data is successfully read from the magnetic stripe, scans the FIT tables to obtain a match
on the Financial Institution Number
 Indicates the next state to go to if there is no FIT match
 Resets the card return/retain flag set by the network

NOTE

For smart cards, if chip connection is the only successful reading operation performed
during card reading, the terminal automatically goes to the state specified by the No FIT
Match Next State entry.

The Card Read state also performs various operations not directly related to card reading, such as
the following operations.

If the automatic method of language selection is enabled, the Card Read state prompts the
consumer to select a language (Section 5.10.4).

NOTE

If screen 901 is not downloaded to the terminal, the automatic prompt does not occur, and
the terminal uses language bank 000.

If the automatic prompt for voice guidance is enabled, the Card Read state prompts the consumer
to activate or deactivate voice guidance (Section 5.11).

If screen 905 is not downloaded to the terminal, the automatic prompt does not occur, and voice
guidance is automatically deactivated.

The Card Read State (A) will display the reserved screen 943 if a card is inserted, read conditions
for the card are met, and headphones are present, giving the customer an option for blanking the
video screen for security. If screen 943 is displayed, the Card Read State will continue when the
customer responds to the prompt screen, or a time-out occurs. The Card Read State continues its
normal execution regardless of how screen 943 is dismissed and does not affect the next state
value taken.

Refer to Table 5-6 for the Card Read state table format.

Table 5-6 Card Read State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type A
2 Screen Number Valid screen numbers
3 Good Read Next State Valid state numbers
4 Error (Misread) Screen Number Valid screen numbers
5 Read Condition 1 001 - 015
6 Read Condition 2 001 - 015
7 Read Condition 3 001 - 015
8 Card Return Flag 000, 001
9 No FIT Match Next State Valid state numbers

The Card Read (A) state entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: A
Description: The state type identifies this state table as a Card Read state table.

Screen Number
Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: This is the number of the screen displayed. This screen prompts the consumer to
insert a card. This screen is displayed while the terminal is awaiting card entry.

Good Read Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to after a good read of the consumer's
card. Normally the next state is a PIN entry type of state.

Error (Misread) Screen Number


Entry Number: 4
Valid Range: Valid screen numbers (Section 5.6)
Description: This is the number of the screen displayed if the card is not read properly. Normally,
this screen prompts the consumer to check the card for proper orientation and reinsert the card.

Read Condition 1
Entry Number: 5
Valid Range: The following values are valid for this entry:
 001 - 3 only
 002 - 2 only
 003 - 2 and 3
 004 - 1 only
 005 - 1 and 3
 006 - 1 and 2
 007 - 1 and 2 and 3
 008 - Chip connect only
 009 - Chip connect and 3
 010 - Chip connect and 2
 011 - Chip connect and 2 and 3
 012 - Chip connect and 1
 013 - Chip connect and 1 and 3
 014 - Chip connect and 1 and 2
 015 - Chip connect and 1 and 2 and 3

The values 008 through 015 are valid only for terminals equipped with a smart card reader.

Description: This is one of the three entries (used in conjunction with entry numbers 6 and 7) that
tell the terminal which card track(s) must be read correctly. This is the first read condition. If this
condition cannot be met, read condition 2 is used next. Refer to Table 5-7 for the standard values
for the Read Condition entries.

Read Condition 2
Entry Number: 6
Valid Range: Same as Read Condition 1
Description: This is one of the three entries (used in conjunction with entry numbers 5 and 7) that
tell the terminal which card track(s) must be read correctly. This is the second read condition used.
This entry is used if read condition 1 cannot be met. If read condition 2 cannot be met, read
condition 3 is used. Refer to Table 5-7 for the standard values for the Read Condition entries.

Read Condition 3
Entry Number: 7
Valid Range: Same as Read Condition 1
Description: This is one of the three entries (used in conjunction with entry numbers 5 and 6) that
tell the terminal which card track(s) must be read correctly. If neither read condition 1 or read
condition 2 can be met, this read condition is used. Refer to Table 5-7 for the standard values for
the Read Condition entries.

Card Return Flag


Entry Number: 8
Valid Range: 000 and 001
Description: This entry tells the terminal whether the card should be returned immediately or at
transaction closing. The valid values are as follows:
 000 - Return card immediately
 001 - Return card at transaction closing

No FIT Match Next State


Entry Number: 9
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the Financial Institution Table (FIT)
number on the card does not match any member institution, or if the terminal performed a chip
connect only.
Table 5-7 Standard Read Condition Entries for the A State
Required Tracks Read Condition 1 Read Condition 2 Read Condition 3
1 only 004 004 004
2 only 002 002 002
3 only 001 001 001
1 and 2 006 006 006
1 and 3 005 005 005
2 and 3 003 003 003
1 and 2 and 3 007 007 007
2 or 3 002 001 001
1 or 3 004 001 001
1 or 2 004 002 002
1 or 2 or 3 004 002 001
(1 and 2) or (1 and 3) 006 005 005
(2 and 1) or (2 and 3) 006 003 003
(3 and 1) or (3 and 2) 005 003 003
1 or (2 and 3) 004 003 003
2 or (1 and 3) 002 005 005
3 or (1 and 2) 001 006 006
Chip only 008 008 008
3 and chip 009 009 009
2 and chip 010 010 010
2 and 3 and chip 011 011 011
1 and chip 012 012 012
1 and 3 and chip 013 013 013
1 and 2 and chip 014 014 014
1 and 2 and 3 and chip 015 015 015
1 or chip 004 008 008
2 or chip 002 008 008
3 or chip 001 008 008
(1 and 2) or chip 006 008 008
(1 and 3) or chip 005 008 008
(2 and 3) or chip 003 008 008
(1 and 2 and 3) or chip 007 008 008
2 or 3 or chip 002 001 008
1 or 3 or chip 004 001 008
1 or 2 or chip 004 002 008
(1 and 2) or (1 and 3) or chip 006 005 008
(2 and 1) or (2 and 3) or chip 006 003 008
(3 and 1) or (3 and 2) or chip 005 003 008
1 or (2 and 3) or chip 004 003 008
2 or (1 and 3) or chip 002 005 008
3 or (1 and 2) or chip 001 006 008

5.4.2 PIN Entry State (B)

The PIN Entry state prompts the consumer to enter a Personal Identification Number (PIN) and
shows Xs for each PIN digit entered.

FIT determines if the terminal performs PIN verification (local PIN verification) or the network
performs PIN verification (remote PIN verification).

NOTE

At this time, Agilis 3 91x does not support local PIN verification. Therefore, the terminal does
not use state entry 5.

For details on each PIN verification method, refer to the Data Security Procedures and Reference
Manual (TP-799530-001E).

Refer to Table 5-8 for the PIN Entry state table format.

Table 5-8 PIN Entry State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type B
2 Screen Number Valid screen numbers
3 Time-out Next State Valid state numbers
4 Cancel Next State Valid state numbers
5 Good PIN Next State Valid state numbers
6 Maximum Bad PINs Next State Valid state numbers
7 Error Screen Number Valid screen numbers
8 No Local PIN Check Next State Valid state numbers
9 PIN Retry 000 - 009

The PIN Entry (B) state entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: B
Description: The state type identifies this state table as a PIN Entry state table.

Screen Number
Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: This is the number of the screen displayed that prompts the consumer to enter a PIN.
This screen is displayed when the terminal enters the PIN Entry state. This screen must position the
cursor at the beginning of the X display area.

Time-out Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the consumer fails to enter a PIN
within the specified time limit. Enter 255 to deactivate the time-out function. Entering 255 keeps the
terminal in this state until a function key is pressed.

Cancel Next State


Entry Number: 4
Valid Range: Valid state numbers (Section 5.3.1)
Description: This is the number of the state the terminal goes to if the consumer presses the
Cancel key without correctly entering a PIN.

Good PIN Next State


Entry Number: 5
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to after the terminal verifies that the
consumer entered the correct PIN (entry used only with local pin verification). At this time, Agilis 3
91x does not support local PIN verification. Therefore, the terminal does not use state entry
5.

Maximum Bad PINs Next State


Entry Number: 6
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to after the consumer incorrectly enters a
PIN the number of times specified by state entry 9 or from card if specified by FIT. Normally, the
next state is a Close state that forces the consumer off the terminal.

Error Screen Number


Entry Number: 7
Valid Range: Valid screen numbers (Section 5.6)
Description: The number of the screen to display to prompt the consumer to enter a PIN again.
This screen is displayed each time the consumer enters an incorrect PIN until the retry value is
reached in state entry 9 (or from card). This screen must position the consumer display cursor at
the beginning of the X display area.

No Local PIN Check Next State


Entry Number: 8
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if no local PIN check (remote) is
specified in FIT. At this time, Agilis 3 91x does not support local PIN verification. Therefore,
the terminal always uses state entry 8.

PIN Retry
Entry Number: 9
Valid Range: 000 through 009
Description: This entry specifies the maximum number of times that a consumer can enter an
incorrect PIN (if local check) before the terminal goes to the state specified by state entry 6. An
entry on the card can override this entry if specified by FIT.

5.4.3 Deposit State (C)

The Deposit state tells the terminal how to process a deposit operation. This state is used for
standard envelope depositories, and for the IDM 4 and IDM 5. Refer to Table 5-9 for the Deposit
state table format.

Return and Retain if Jam Feature


If the Return and Retain if Jam feature is enabled, the terminal automatically attempts to recover
from a jam during a check return by moving the affected check into the bin specified by the state
data. If the attempt is successful, the terminal does not report a jam status to the network. For the
Deposit state, this feature applies to the Return Check operation.
Table 5-9 Deposit State Entries
Entry Valid Range
State Number Valid state numbers
1 State Type C
2 Good Next State Valid state numbers
3 Screen Number Valid screen numbers
4 Timeout or Cancel Next State Valid state numbers
5 Fault Next State Valid state numbers
6 Operation 000 - 006
7 Deposit Bin ID 000 - 003
8 Reserved Refer to the description.
9 Reserved 000

The Deposit state (C) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: C
Description: The state type identifies this state table as a Deposit state table.

Good Next State


Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the indicated operation is completed
without problem.

Screen Number
Entry Number: 3
Valid Range: Valid screen numbers (Section 5.6)
Description: The number of the screen to display during the state. If the value in this entry is 000,
the terminal does not change the screen currently showing.

Timeout or Cancel Next State


Entry Number: 4
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if a deposit operation (001 or 002) or
return operation (004 or 005) times out waiting for a response from the consumer.

This exit is also used if the consumer presses the Cancel key before inserting a check or envelope
during a check or envelope deposit operation, if the Deposit Extension state is not used.

Fault Next State


Entry Number: 5
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if a hard fault occurs.

Operation
Entry Number: 6
Valid Range: 000 through 006
Description: This entry tells the terminal which Deposit operation to perform. The following
paragraphs describe the operations that are valid for the Deposit state.

000 (Dispense envelope). This operation requires an envelope dispenser. For operation 000, state
processing proceeds in a manner similar to that of automatic envelope dispensing (Section 3.3.2),
with the following differences:

 The envelope dispense does not necessarily directly precede a deposit operation.
 If the envelope dispense is not successful, the terminal displays screen 913, rather than
screen 911. This screen is displayed for three seconds.
 When processing is complete, regardless of the outcome of the operation, the terminal
takes the Good Next State exit.

If this operation is used, the only other applicable entry is Good Next State. All other entries must
be set to 000.

001 (Deposit envelope). This operation requires an envelope depository. The envelope depository
is enabled for a complete envelope deposit.

If the terminal is equipped with an envelope dispenser, and automatic envelope dispensing is
enabled, and the terminal has not previously attempted to dispense an envelope for this
transaction, the terminal automatically dispenses a deposit envelope before proceeding to the
deposit operation (Section 3.3.2).

Timeout of this operation is controlled by timer 20 (if timer 20 has a non-zero value) or by timer 04.
If this timer expires before the consumer responds, the terminal shows the More Time screen and
starts timer 01. If timer 01 then expires without the consumer responding, the terminal goes to the
exit state identified by the Timeout or Cancel Next State entry.

NOTE

If the consumer response time (timer 04 or 20), plus the timer 01 time is longer than the
depository's built-in timeout, the operation times out when the depository's built-in timeout
expires.

The Cancel key is enabled during this operation.

002 (Deposit check to escrow). This operation requires an IDM. This operation is intended to be
the first step of a check deposit. If there is no check or other document in escrow, the terminal
enables the IDM to perform the following operations:

 Accept a check or document


 Read the MICR line as directed by the MICR search preference set in the Agilis
Configuration Utility
 Capture the image(s) of the check or document
 Hold the check or document in the escrow position

Timeout of this operation is controlled by timer 20 (if timer 20 has a non-zero value) or by timer 04.
If this timer expires before the consumer responds, the terminal shows the More Time screen and
starts timer 01. If timer 01 then expires without the consumer responding, the terminal goes to the
exit state identified by the Timeout or Cancel Next State entry.

NOTE

If the consumer response time (timer 04 or 20), plus the timer 01 time is longer than the
depository's built-in timeout, the operation times out when the depository's built-in timeout
expires.
If a check or other document is in escrow at the start of this operation, the check or document is
moved to the deposit bin specified in the Deposit Bin ID entry. The deposit then proceeds as
described in the preceding paragraphs.

The Cancel key is enabled during this operation.

003 (Retain check). This operation requires an IDM. The terminal moves the check or other
document from the escrow position to the deposit bin specified in the Deposit Bin ID entry. The
terminal does not do any printing on the check or document during this operation.

The Cancel key is disabled during this operation.

004 (Return check). This operation requires an IDM. The terminal moves the check or other
document from the escrow position to the entry slot of the depository, to allow the consumer to
retrieve the check or document. The terminal does not do any printing on the check or document
during this operation.

Timeout of this operation is controlled by timer 09. If timer 09 expires before the consumer
responds, the terminal goes to the exit state identified by the Timeout or Cancel Next State entry.

NOTE

If the consumer response time (timer 09), plus the timer 01 time is longer than the
depository's built-in timeout, the operation times out when the depository's built-in timeout
expires.

If the operation times out, the check or document is captured and placed in the deposit bin specified
in the Deposit Bin ID entry.

The Cancel key is disabled during this operation.

005 (Return check). Operation 005 is identical to operation 004. For details, refer to the description
of operation 004.

006 (Disable the IDM). The terminal renders the IDM logically disabled by suspending further
operations on the device. Once the IDM is logically disabled, subsequent Depositor states
immediately exit to the state specified in the Hardware Fault Next State entry, and subsequent
Depositor function commands immediately return a DP01:39:00:0n solicited status (depositor
disabled). The IDM remains logically disabled until the IDM is cleared, and the operator performs
Maintenance logon and logoff.

This operation can be used to limit damage to a check or document jammed in the device. The
operation can also be used when a check or document in escrow cannot be moved to a deposit bin,
and it is not desirable to return the check or document to the consumer.

Deposit Bin ID
Entry Number: 7
Valid Range: 000 through 003
Description: The Deposit Bin ID tells the terminal in which bin to place a deposit, subject to the
capabilities of the IDM as follows. If the bin ID in this entry is lower than the lowest numbered bin in
the IDM, the lowest numbered bin is used. If the bin ID in this entry is higher than the highest
numbered bin in the IDM, the highest numbered bin is used.
This entry is applicable to operations 002, 003, 004, and 005. For all other operations, Agilis 3 91x
ignores this entry.

Reserved
Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in this entry, so any character data is acceptable. The
recommended value for this entry is 000.

Reserved
Entry Number: 9
Valid Range: 000
Description: Agilis 3 91x ignores the value in this entry.

5.4.4 Clear Keys State (D)

The Function Key Buffer is eight bytes long. The Clear Keys state can do any combination of the
following functions.

 Clear the Function Key Buffer or clear selected bytes of the Function Key Buffer.
 Preset selected bytes of the Function Key Buffer with A, B, C, or D.

Each bit of the masks in this state represents a byte (buffer position) in the Function Key Buffer. Bit
0 of the mask represents the first byte. Bit 7 of the mask represents the eighth byte.

Refer to Table 5-10 for the Clear Keys state table format.

Table 5-10 Clear Keys State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type D
2 Next State Valid state numbers
3 Clear Mask 000 - 255
4 A Preset Mask 000 - 255
5 B Preset Mask 000 - 255
6 C Preset Mask 000 - 255
7 D Preset Mask 000 - 255
8 Reserved 000
9 Reserved 000

The Clear Keys (D) state entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: D
Description: The state type identifies this state table as a Clear Keys state table.

Next State
Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to after clearing or presetting the Function
Key Buffer.

Clear Mask
Entry Number: 3
Valid Range: 000 through 255
Description: Specifies bytes of Function Key Buffer to be set to a space character. Each bit relates
to a byte in the Function Key Buffer. Bit 0 relates to the first entry. Bit 7 relates to the eighth entry. If
a bit is zero, the corresponding entry is cleared. If a bit is one, the corresponding entry is
unchanged. Set this entry to 255 if none of the Function Key Buffer positions are to be cleared.

A Preset Mask
Entry Number: 4
Valid Range: 000 through 255
Description: Specifies bytes of Function Key Buffer to be set to A. Each bit relates to a byte in the
Function Key Buffer. Bit 0 relates to the first entry. Bit 7 relates to the eighth entry. If a bit is one, the
corresponding entry is set to A. If bit is zero, the corresponding entry is unchanged.

B Preset Mask
Entry Number: 5
Valid Range: 000 through 255
Description: Specifies bytes of Function Key Buffer to be set to B. Each bit relates to a byte in the
Function Key Buffer. Bit 0 relates to the first entry. Bit 7 relates to the eighth entry. If a bit is one, the
corresponding entry is set to B. If bit is zero, the corresponding entry is unchanged.

C Preset Mask
Entry Number: 6
Valid Range: 000 through 255
Description: Specifies bytes of Function Key Buffer to be set to C. Each bit relates to a byte in the
Function Key Buffer. Bit 0 relates to the first entry. Bit 7 relates to the eighth entry. If a bit is one, the
corresponding entry is set to C. If bit is zero, the corresponding entry is unchanged.

D Preset Mask
Entry Number: 7
Valid Range: 000 through 255
Description: Specifies bytes of Function Key Buffer to be set to D. Each bit relates to a byte in the
Function Key Buffer. Bit 0 relates to the first entry. Bit 7 relates to the eighth entry. If a bit is one, the
corresponding entry is set to D. If bit is zero, the corresponding entry is unchanged.

Reserved
Entry Number: 8 and 9
Valid Range: 000
Description: Entries 8 and 9 are reserved and must be 000.

EXAMPLE 1

Clear Mask (Entry 3)

Start with a Function Key Buffer that looks like the following:

Buffer B _ _ C _ _ D _
Byte 0 1 2 3 4 5 6 7
Weight 1 2 4 8 16 32 64 128

To clear buffer position 6 (byte 6), add the weights of the positions that you do not want to clear
and put that result in the Clear Mask entry (entry 3).

Buffer B _ _ C _ _ D _
Byte 0 1 2 3 4 5 6 7
Positions x x x x x x x

not cleared

Weights 1 + 2 + 4 + 8 + 16 + 32 + 128 = 191

not cleared

With 191 entered in entry 3, the resultant Function Key Buffer would appear as follows:

Buffer B _ _ C _ _ _ _
Byte 0 1 2 3 4 5 6 7

EXAMPLE 2

A, B, C, D Preset Masks (Entries 4 through 7)

Assume that you want to set the Function Key Buffer positions as follows:

 Positions 0 and 2 to A
 Positions 1 and 5 to B
 Position 3 to C
 Positions 4 and 7 to D

The buffer appears as follows:


Buffer A B A C D B _ D
Byte 0 1 2 3 4 5 6 7
Weight 1 2 4 8 16 32 64 128

The entries would have to be set as follows:

 Entry 4 (A Preset Mask) - 1 + 4 = 005


 Entry 5 (B Preset Mask) - 2 + 32 = 034
 Entry 6 (C Preset Mask) - 8 = 008
 Entry 7 (D Preset Mask) - 16 + 128 = 144

5.4.5 Select Function State (E)

This state reads one function key, stores the key code in the Function Key Buffer, and then
advances to the next state. This state permits the consumer to select one function, from up to four
functions displayed on the screen, by pressing one of the active function keys. The state table data
for this state type defines which of the four function keys are to be active during this state.

NOTE

If the Select Function state is used with the Function Key Extension state, additional
function keys can be activated, allowing the institution to offer the consumer additional
functions.

For detailed information about the Function Key Extension state, refer to Section 5.4.19.

Refer to Table 5-11 for the Select Function state table format.

Table 5-11 Select Function State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type E
2 Screen Number Valid screen numbers
3 Time-out Next State Valid state numbers, 255
4 Cancel Next State Valid state numbers
5 Function Key A Next State Valid state numbers
6 Function Key B Next State Valid state numbers
7 Function Key C Next State Valid state numbers
8 Function Key D Next State Valid state numbers
9 Function Key Buffer Location 000 - 007

The Select Function state (E) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: E
Description: The state type identifies this state table as a Select Function state table.

Screen Number
Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: Number of the display screen that prompts the consumer to make choice between two
or more alternatives (transaction types, account names, and so on). This screen is displayed upon
entry into the selection function state and must be aligned with the active function keys (table entry
5, 6, 7, and 8) for proper operation.

Time-out Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1), 255
Description: State number terminal proceeds to if a consumer fails to make a selection within the
specified time limit. Entering 255 keeps the terminal in this state until a function key is pressed.

Cancel Next State


Entry Number: 4
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the Cancel key instead of a
function key.

Function Key A Next State


Entry Number: 5
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the A function key.
(Program in 255 to deactivate the A function key during this state.)

Function Key B Next State


Entry Number: 6
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the B function key.
(Program in 255 to deactivate the B function key during this state.)

Function Key C Next State


Entry Number: 7
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the C function key.
(Program in 255 to deactivate the C function key during this state.)
Function Key D Next State
Entry Number: 8
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the D function key.
(Program in 255 to deactivate the D function key during this state.)

Function Key Buffer Location


Entry Number: 9
Valid Range: 000 through 007
Description: Specifies the Function Key Buffer byte in which the key code for the selected function
key is to be stored. The network downloads the following data to select the indicated buffer byte:
 000 = buffer position 0
 001 = buffer position 1
 002 = buffer position 2
 003 = buffer position 3
 004 = buffer position 4
 005 = buffer position 5
 006 = buffer position 6
 007 = buffer position 7

Buffer positions are as follows:

_ _ _ _ _ _ _ _
0 1 2 3 4 5 6 7

5.4.6 Dollar Entry State (F)

This state reads the transaction amount entered by the consumer, displays it on the consumer
display, and stores the amount in the Dollar Buffer . The consumer is allowed to enter up to 8 digits
or up to 12 digits, depending on whether the Dollar Buffer Size feature is selected (Section 5.15).
When in the Dollar Entry state, the consumer uses network-specified function keys to indicate
whether the displayed amount is either correct or incorrect.

Refer to Table 5-12 for the Dollar Entry state table format.

Table 5-12 Dollar Entry State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type F
2 Screen Number Valid screen numbers
3 Time-out Next State Valid state numbers
4 Cancel Next State Valid state numbers
5 Function Key A Next State Valid state numbers
6 Function Key B Next State Valid state numbers
7 Function Key C Next State Valid state numbers
8 Function Key D Next State Valid state numbers
9 Dollar Display Screen Number Valid screen numbers

The Dollar Entry state (F) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: F
Description: The state type identifies this state table as a Dollar Entry state table.

Screen Number
Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: Number of display screen that prompts an amount entry. This screen is displayed
upon entry into the Dollar Entry state.

Time-out Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer fails to enter an amount within
the specified time limit. (Program in 255 if the time-out function is not used.)

Cancel Next State


Entry Number: 4
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses the Cancel key before
pressing a function key.

Function Key A Next State


Entry Number: 5
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses the A function key.
(Program in 255 to deactivate the A function key during this state.)

Function Key B Next State


Entry Number: 6
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the B function key.
(Program in 255 to deactivate the B function key during this state.)
Function Key C Next State
Entry Number: 7
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the C function key.
(Program in 255 to deactivate the C function key during this state.)

Function Key D Next State


Entry Number: 8
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number terminal proceeds to if a consumer presses the D function key.
(Program in 255 to deactivate the D function key during this state.)

NOTE

Normally one function key is used to indicate whether the amount entered is correct and
another function key is used to indicate that the amount entered is incorrect. The other
function keys are inactive.

Dollar Display Screen Number


Entry Number: 9
Valid Range: Valid screen numbers (Section 5.6)
Description: This screen specifies the position for displaying the transaction amount as the
consumer enters the digits. The cursor position set by this screen becomes the first position of the
display field for the transaction amount.

The Dollar Display screen is applied as an overlay to the screen specified in the Screen Number
entry, so that the data already displayed remains displayed.

Transaction Amount Entry and Display


The entry and display of transaction amounts in the Dollar Entry state is governed by the setting of
features in the Write Command 3 message and by the content of reserved screens 004, 005, and
006.

The following features in the Write Command 3 message (Section 5.15) affect transaction amount
entry and display:

 Dollar Buffer Size feature - 8-digit or 12-digit transaction amounts


 Dollar Decimal Places feature - 2 or 3 decimal places
 Decimal Style feature - Calculator format or decimal format

Reserved screens 004, 005, and 006 (Section 5.9) specify the following features of the transaction
amount display:

 Currency characters (up to 20 characters)


 Thousands separator character
 Decimal character

Refer to the following examples.


EXAMPLE 1

This example illustrates transaction amount entry using the following configuration:

 Calculator format
 Maximum of eight digits can be entered for a transaction amount
 Two decimal places
 Default currency characters ($ b), thousands separator (NULL), and decimal character ( . )

When the calculator format is used, the decimal point key is disabled during transaction amount
entry. The decimal point is displayed automatically by the Dollar Entry state.

[1]
Description Consumer Display
Initial display before numeric entry: ^ $ 0.00
First numeric keypress: ^ $ 0.01
Second numeric keypress: ^ $ 0.12
Third numeric keypress: ^ $ 1.23
Fourth numeric keypress: ^ $ 12.34
. .
. .
. .
Eighth numeric keypress: ^ $ 123456.78
[1]
The caret symbol ( ^ ) indicates the cursor position set by the Dollar Display screen. This symbol
does not actually appear on the consumer display. For this configuration, the display field is 13
characters wide.

At the end of this entry, the Dollar Buffer contains the text string 12345678. If the consumer enters
fewer digits, the Dollar Buffer contains only those digits entered and therefore has a
correspondingly shorter length.

If the consumer enters a ninth digit, the terminal re-displays the initial display ($ 0.00) and resets the
Dollar Buffer.

For more detailed information, refer to Section 5.19.4.

EXAMPLE 2

This example is similar to Example 1, but the terminal is configured to allow a maximum of 12 digits
for a transaction amount.

[1]
Description Consumer Display
Initial display before numeric entry: ^ $ 0.00
First numeric keypress: ^ $ 0.01
Second numeric keypress: ^ $ 0.12
Third numeric keypress: ^ $ 1.23
Fourth numeric keypress: ^ $ 12.34
Fifth numeric keypress: ^ $ 123.45
. .
. .
. .
Twelfth numeric keypress: ^ $ 1234567890.12
[1]
The caret symbol ( ^ ) indicates the cursor position set by the Dollar Display screen. This symbol
does not actually appear on the consumer display. For this configuration, the display field is 19
characters wide.

EXAMPLE 3

This example is similar to Example 1, but the terminal is configured to use the decimal format.

When the decimal format is used, the decimal point key is enabled during transaction amount entry,
and the terminal displays a decimal character when the decimal point key is pressed. However, no
decimal character is placed in the Dollar Buffer.

[1]
Description Consumer Display
Initial display before numeric entry: $
First numeric keypress: $ 1
Second numeric keypress: $ 12
Third numeric keypress: $ 123
Fourth numeric keypress: $ 1234
Fifth numeric keypress: $ 12345
Sixth numeric keypress: $ 123456
[2]
Seventh numeric keypress : $ 123456.7
Eighth numeric keypress: $ 123456.78
[1]
The dollar symbol ( $ ) is displayed at the cursor position set by the Dollar Display screen.
[2]
At this point, the Dollar Entry state forces the decimal point on the display and disables the
decimal point key.

After the eighth digit is entered, the numeric keys are disabled, while the function keys and the
Cancel key remain enabled. The consumer must press a function key or the Cancel key to proceed.

For more detailed information about the decimal format, refer to the description of the Decimal Style
feature (Section 5.15).

NOTE

If the Dollar Display Screen Number screen file does not exist, the position for displaying the
transaction amount will be after the last cursor position of the Screen Number displayed for
the Dollar Entry state.

5.4.7 Cent Check State (G)


This state checks to verify if the transaction amount entered by the consumer is a whole-dollar (zero
cents) amount. This state must follow the Dollar Entry state when a withdrawal transaction is being
performed, if the terminal does not have a coin dispenser.

The default operation of the Cent Check state is also applicable to non-U.S. currencies that use two
decimal places to represent minor currency units.

For currencies that use three decimal places instead of two decimal places for minor currency units,
the default operation of the Cent Check state can be modified for three decimal places by selecting
the Dollar Decimal Places feature (Section 5.15).

Refer to Table 5-13 for the Cent Check state table format.

Table 5-13 Cent Check State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type G
2 Whole Dollar Entry Next State Valid state numbers
3 Non-whole Dollar Entry Next State Valid state numbers
4 Reserved 000
5 Reserved 000
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Cent Check (G) state entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: G
Description: The state type identifies this state table as a Cent Check state table.

Whole Dollar Entry Next State


Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal enters upon finding 00 for the right-most two digits in the
Dollar Buffer (zero cents).
If the Dollar Decimal Places feature is selected, this entry specifies the state number the terminal
enters upon finding 000 for the right-most three digits in the Dollar Buffer.

Non-whole Dollar Entry Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal enters upon finding a value other than 00 for the right-most
two digits in the Dollar Buffer.

If the Dollar Decimal Places feature is selected, this entry specifies the state number the terminal
enters upon finding a value other than 000 for the right-most three digits in the Dollar Buffer.

Reserved
Entry Number: 4 through 9
Valid Range: 000
Description: Entries 4 through 9 are reserved and must be 000.

5.4.8 Information Entry State (H)

This state reads in a variable length string of numeric keys, saves the data in one of two General
Purpose Buffers (refer to table entry 9), and displays either the data or X for each numeric key
pressed. The input string is terminated by a function key, Cancel key, or a time-out. General
Purpose Buffers B and C are variable in length. Maximum length is 32 bytes. When the terminal
exits this state, the specified buffer contains only the data from the numeric keys pressed by the
consumer. If no keys are pressed, then the buffer contains no data.

Refer to Table 5-14 for the Information Entry state table format.

Table 5-14 Information Entry State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type H
2 Screen Number Valid screen numbers
3 Time-out Next State Valid state numbers
4 Cancel Next State Valid state numbers
5 Function Key A Next State Valid state numbers
6 Function Key B Next State Valid state numbers
7 Function Key C Next State Valid state numbers
8 Function Key D Next State Valid state numbers
9 Buffer and Display Parameters 000 - 003

The Information Entry state (H) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: H
Description: The state type identifies this state table as an Information Entry state table.

Screen Number
Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: The number of the display screen that prompts the consumer for key entry. This
screen is displayed upon entry into the Information Entry state and must leave the cursor at the
beginning of the data or X display area.

Time-out Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer fails to respond to the consumer
display message within a specified time limit. (Program in 255 if the time-out function is not used.)

Cancel Next State


Entry Number: 4
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses Cancel key before
pressing a function key.

Function Key A Next State


Entry Number: 5
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses the A function key.
(Program in 255 to deactivate the A function key during this state.)

Function Key B Next State


Entry Number: 6
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses the B function key.
(Program in 255 to deactivate the B function key during this state.)

Function Key C Next State


Entry Number: 7
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses the C function key.
(Program in 255 to deactivate the C function key during this state.)

Function Key D Next State


Entry Number: 8
Valid Range: Valid state numbers (Section 5.3.1)
Description: State number the terminal proceeds to if a consumer presses the D function key.
(Program in 255 to deactivate the D function key during this state.)

Buffer and Display Parameters


Entry Number: 9
Valid Range: 000 through 003
Description: This entry specifies whether or not the actual data entered, or X, is to be displayed,
beginning at the current cursor position. This entry also specifies which General Purpose Buffer (B
or C) is used for storing the numeric data input. The valid characters are as follows:
 000 - Display X for each numeric key pressed. Store keys in General Purpose Buffer C.
 001 - Display data as entered. Store keys in General Purpose Buffer C.
 002 - Display X for each numeric key pressed. Store keys in General Purpose Buffer B.
 003 - Display data as entered. Store keys in General Purpose Buffer B.

5.4.9 Transaction Request State ( I )

The Transaction Request state tells the terminal which information to place in the Consumer
Request message, transmits the Consumer Request message to the network, and waits for the
network response. When the network responds with a Function Command message, the terminal
executes the function commands contained in the message, and goes to the next state specified in
the Function Command message. If the network does not respond with a Function Command
message within the time specified by timer 03 (Section 5.15), the terminal goes to the state
specified in entry 3 of this state.

Refer to Table 5-15 for the Transaction Request state table format.

Table 5-15 Transaction Request State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type I
2 Screen Number Valid screen numbers
3 Network Response Time-out Next State Valid state numbers
4 Send Track 2 Data 000, 001
5 Send Track 1, Track 3, and/or MICR Data 000 - 007
6 Send Function Key Buffer Data 000, 001
7 Send Dollar Buffer Data 000, 001
8 Send PIN Data 000, 001
9 Send General Purpose Buffer(s) B and/or C Data 000 - 003

The Transaction Request state (I) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: I
Description: The state type identifies this state table as a Transaction Request state table.

Screen Number
Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: Number of the display screen displayed while the terminal transmits a request to the
network and waits for the associated Function Command message. This is normally a PLEASE
WAIT screen.

Network Response Time-out Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number the terminal goes to if the network does not respond to the
Consumer Request message in the time specified by timer 03 (Section 5.15). This timer checks that
a Function Command message is received in response to the Consumer Request message.

Send Track 2 Data


Entry Number: 4
Valid Range: 000 through 001
Description: This entry indicates whether track 2 data should be sent in the Consumer Request
message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

Send Track 1, Track 3, and/or MICR Data


Entry Number: 5
Valid Range: 000 through 007
Description: This entry specifies whether track 1 data, track 3 data, MICR data, or some
combination of this data is sent to the network. The valid values are as follows:
 000 - No additional tracks or MICR
 001 - Send track 3 only
 002 - Send track 1 only
 003 - Send tracks 1 and 3
 004 - Send MICR only
 005 - Send MICR and track 3
 006 - Send MICR and track 1
 007 - Send MICR and tracks 1 and 3
Send Function Key Buffer Data
Entry Number: 6
Valid Range: 000 through 001
Description: This entry indicates whether the Function Key Buffer data should be sent in the
Consumer Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

Send Dollar Buffer Data


Entry Number: 7
Valid Range: 000 through 001
Description: This entry indicates whether the Dollar Buffer data should be sent in the Consumer
Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

Send PIN Data


Entry Number: 8
Valid Range: 000 through 001
Description: This entry indicates whether the consumer-entered PIN should be sent in the
Consumer Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

If the PIN data is included in the message, the PIN is in encrypted form, based on the applicable
FIT entry.

Send General Purpose Buffers B and/or C Data


Entry Number: 9
Valid Range: 000 through 003
Description: This entry indicates whether General Purpose Buffer B data, General Purpose Buffer
C data, or both should be sent in the Consumer Request message. The valid values are as follows:
 000 - Do not send data from either buffer
 001 - Send General Purpose Buffer B data only
 002 - Send General Purpose Buffer C data only
 003 - Send General Purpose Buffers B and C data

5.4.10 Close State (J)

The Close state terminates the consumer's current terminal interface. This state performs the
following functions:

 Shows a consumer display screen


 Completes any printing on the receipt printer or journal printer initiated by a Function
Command message.
 Returns or retains the consumer's card as directed by the Function Command message
 Retracts any money left by the customer in the cash pocket or escrow by calling an
enhanced state 005 and reports the appropriate status to the maintenance status list and
the journal printer
 Attempts a recovery on faulted hardware devices. This recovery operation may take
multiple minutes to complete.

If the terminal returns the card, and the consumer fails to remove the card within the time period
specified by timer 09 (Section 5.15), the terminal automatically recaptures the card.

Also, if there is a check or other document held in escrow in the IDM at the start of the Close state,
Close state processing directs the IDM to retain the check or document, without printing on the
document.

Refer to Table 5-16 for the Close state table format.

Table 5-16 Close State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type J
2 Receipt Delivered Screen Number Valid screen numbers
3 Next State Valid state numbers
4 No Receipt Delivered Screen Number Valid screen numbers
5 Card Retained Screen Number Valid screen numbers
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Close state (J) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: J
Description: The state type identifies this state table as a Close state table.

Receipt Delivered Screen Number


Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: Number of the display screen that asks consumers to please take their card and
receipt. This screen is displayed upon entry to the Close state only if the consumer's card is
returned and a receipt was printed.

Next State
Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number the terminal goes to after the Close state is completed.

No Receipt Delivered Screen Number


Entry Number: 4
Valid Range: Valid screen numbers (Section 5.6)
Description: Number of the display screen that asks consumers to please take their card. This
screen is displayed upon entry to the Close state only if the consumer's card is returned and no
receipt was printed.

Card Retained Screen Number


Entry Number: 5
Valid Range: Valid screen numbers (Section 5.6)
Description: Number of the display screen that informs the consumer that the card has been
retained. This screen is displayed upon entry to the Close state only if the consumer's card has
been retained by the terminal as directed by the network. Consumer timeouts do not cause this
screen to be displayed.

Reserved
Entry Number: 6 through 9
Valid Range: 000
Description: Entries 6 through 9 are reserved and must be 000.

5.4.11 Indirect Next State (K)

The Indirect Next state allows the terminal to follow an alternate sequence of states and screens
based on the Financial Institution Table (FIT) matched during the Card Read state (A). Each FIT
can specify an index number, called the PSTDX. The Indirect Next state uses the PSTDX to
determine the next state to execute. For example, if the FIT matched during the Card Read state
specifies a PSTDX of 3, entry 5 of the Indirect Next state indicates the next state number. Refer to
the Data Security Procedures and Reference Manual (TP-799530-001E) for a detailed explanation
of FITs.

Refer to Table 5-17 for the Indirect Next state table format.

Table 5-17 Indirect Next State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type K
2 Next State, PSTDX = 0 Valid state numbers
3 Next State, PSTDX = 1 Valid state numbers
4 Next State, PSTDX = 2 Valid state numbers
5 Next State, PSTDX = 3 Valid state numbers
6 Next State, PSTDX = 4 Valid state numbers
7 Next State, PSTDX = 5 Valid state numbers
8 Next State, PSTDX = 6 Valid state numbers
9 Next State, PSTDX = 7 Valid state numbers

The Indirect Next state (K) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: K
Description: The state type identifies this state table as an Indirect Next state table.

Next State
Entry Number: 2 through 9
Valid Range: Valid state numbers (Section 5.3.1)
Description: Entries 2 through 9 contain the number of the state that the terminal goes to
depending on the value in the PSTDX value of FIT. These entries are defined as follows:
Entry Number Definition
2 Next state number if PSTDX = 0
3 Next state number if PSTDX = 1
4 Next state number if PSTDX = 2
5 Next state number if PSTDX = 3
6 Next state number if PSTDX = 4
7 Next state number if PSTDX = 5
8 Next state number if PSTDX = 6
9 Next state number if PSTDX = 7

5.4.12 PIN Entry State (M)

This PIN Entry state is identical to PIN Entry (B) state described in Section 5.4.2.

5.4.13 Set Dollar Buffer State (R)


The Dollar Buffer is a terminal buffer (buffer 065) used to store the numeric characters
corresponding to the transaction amount requested by the consumer. The basic system limits
transaction amounts to a maximum of eight digits, but the terminal can be configured to allow
transaction amounts up to twelve digits in length by selecting the Dollar Buffer Size feature (Section
5.15).

The Set Dollar Buffer state places a pre-programmed transaction amount in the Dollar Buffer. The
Set Dollar Buffer state is typically used for fast cash transactions. In a fast cash transaction, the
consumer uses the function keys to choose both the transaction and the amount instead of entering
the amount through the numeric keys. After the consumer selects the fast cash transaction, the Set
Dollar Buffer state automatically places the appropriate amount in the Dollar Buffer.

Digits 1 and 2 are the least significant digits of the amount. Typically, for terminal located in the
U.S., these digits would represent the cents portion of the transaction amount.

Refer to Table 5-18 for the Set Dollar Buffer state table format.

Table 5-18 Set Dollar Buffer State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type R
2 Next State Valid state numbers
3 Reserved 000
4 Digits 12 and 11 000 - 099
5 Digits 10 and 9 000 - 099
6 Digits 8 and 7 000 - 099
7 Digits 6 and 5 000 - 099
8 Digits 4 and 3 000 - 099
9 Digits 2 and 1 000 - 099

The Set Dollar Buffer state (R) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: R
Description: The State Type entry identifies this state table as a Set Dollar Buffer state table.

Next State
Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Next State entry specifies the state table that the terminal processes after storing
the transaction amount in the Dollar Buffer.

Reserved
Entry Number: 3
Valid Range: 000
Description: The terminal does not use this entry.

Digits 12 and 11
Entry Number: 4
Valid Range: 000 through 099
Description: The last two digits of the Digits 12 and 11 entry specify the digits to place in positions
12 and 11, respectively, of the Dollar Buffer. If the terminal is configured to allow only 8-digit
transaction amounts, enter 000.

Digits 10 and 9
Entry Number: 5
Valid Range: 000 through 099
Description: The last two digits of the Digits 10 and 9 entry specify the digits to place in positions
10 and 9, respectively, of the Dollar Buffer. If the terminal is configured to allow only 8-digit
transaction amounts, enter 000.

Digits 8 and 7
Entry Number: 6
Valid Range: 000 through 099
Description: The last two digits of the Digits 8 and 7 entry specify the digits to place in positions 8
and 7, respectively, of the Dollar Buffer.

Digits 6 and 5
Entry Number: 7
Valid Range: 000 through 099
Description: The last two digits of the Digits 6 and 5 entry specify the digits to place in positions 6
and 5, respectively, of the Dollar Buffer.

Digits 4 and 3
Entry Number: 8
Valid Range: 000 through 099
Description: The last two digits of the Digits 4 and 3 entry specify the digits to place in positions 4
and 3, respectively, of the Dollar Buffer.

Digits 2 and 1
Entry Number: 9
Valid Range: 000 through 099
Description: The last two digits of the Digits 2 and 1 entry specify the digits to place in positions 2
and 1, respectively, of the Dollar Buffer.

5.4.14 Check Track Buffer State (Z)


The Check Track Buffer state examines track data to define the terminal's personality for the current
consumer. The state provides conditional branching of the state table sequence and can change
the index for Indirect Next state processing. This index is initially set to the value of the PSTDX from
the FIT identified during the Card Read state.

The Check Track Buffer state table contains six characters for the Check Track Buffer state to
compare with track data. A match condition occurs only if the track data matches all six characters
specified by the state table.

Refer to Table 5-19 for the Check Track Buffer state table format.

Table 5-19 Check Track Buffer State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type Z
2 Match Next State Valid state numbers
3 No Match Next State Valid state numbers
4 Indirect Next State Index Refer to the description.
5 Buffer ID/Delimiter Refer to the description.
6 Delimiter Index 000 - 999
7 First and Second Characters Refer to the description.
8 Third and Fourth Characters Refer to the description.
9 Fifth and Sixth Characters Refer to the description.

The Check Track Buffer state (Z) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: Z
Description: The State Type entry identifies this state table as the Check Track Buffer state table.

Match Next State


Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Match Next State entry specifies the state table that the terminal processes if the
data in the specified buffer (entries 5 and 6) matches all six characters specified in entries 7, 8, and
9.

No Match Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The No Match Next State entry specifies the state table that the terminal processes if
the data in the specified buffer (entries 5 and 6) does not match one or more of the characters
specified in entries 7, 8, and 9.

Indirect Next State Index


Entry Number: 4
Valid Range: Decimal numbers less than or equal to 255. When this entry is converted to
hexadecimal, each hex digit must be 0 to 7, or F.
Description: The Indirect Next State Index entry specifies a new Indirect Next state index for the
current transaction.

The terminal converts entry 4 to a two-digit hexadecimal number. If entries 7, 8, and 9 match the
buffer data, the most significant digit of that number specifies the new index. If no match is found,
the least significant digit specifies the new index. If the digit is from 0 to 7, this number is the new
Indirect Next state index. If the digit is F, the index is not changed from the value it had at the start
of this state.

Buffer ID/Delimiter
Entry Number: 5
Valid Range: Decimal numbers less than or equal to 035. When this entry is converted to
hexadecimal, the first digit must be 0, 1, or 2, and the second must be 0, 1, 2, or 3.
Description: The Buffer ID/Delimiter entry specifies the track to examine for matching characters. It
also specifies (in conjunction with entry 6) the position in the track.

The terminal converts entry 5 to a two-digit hexadecimal number. The most significant digit
represents the track data buffer containing the data to compare with entries 7, 8, and 9 as follows:

 0 - Track 2
 1 - Track 3
 2 - Track 1

The least significant digit represents a track delimiter and a direction for applying the offset specified
in entry 6. The allowable values are as follows:

 0 - Start sentinel; count forward


 1 - First field separator; count forward
 2 - End sentinel; count backward
 3 - Last field separator; count forward

When the delimiter and direction is 2 (end sentinel; count backward), even though the offset is
counted backward from the end sentinel, the comparison proceeds forward from the offset. For
example, if the track data ends in ...123456789(e/s), where (e/s) represents the end sentinel, and
the delimiter index is 006, then the starting position in the track data is the character 3. The
characters 3 and 4 of the track data are compared against the digits derived from entry 7, the
characters 5 and 6 are compared against the digits derived from entry 8, and so on.

Delimiter Index
Entry Number: 6
Valid Range: 000 through 999
Description: The Delimiter Index specifies the number of characters to offset from the delimiter
(entry 5) to locate the data for comparing with entries 7, 8, and 9. The first character after the
delimiter is at offset 000.

NOTE

For entries 7, 8, and 9, the terminal converts each decimal number to a two-digit
hexadecimal number, then converts each hexadecimal digit to a character.

First and Second Characters


Entry Number: 7
Valid Range: Decimal numbers less than or equal to 255. When this entry is converted to
hexadecimal, each hex digit must be from 0 to 9, or F.
Description: The First and Second Characters entry specifies the characters to compare with the
first and second characters of track data. The first character is compared to the character at the
specified offset in the buffer, and subsequent characters are counted from there. F always matches
any buffer character.

Third and Fourth Characters


Entry Number: 8
Valid Range: Decimal numbers less than or equal to 255. When this entry is converted to
hexadecimal, each hex digit must be from 0 to 9, or F.
Description: The Third and Fourth Characters entry specifies the characters to compare with the
third and fourth characters in the track data buffer. F always matches any buffer character.

Fifth and Sixth Characters


Entry Number: 9
Valid Range: Decimal numbers less than or equal to 255. When this entry is converted to
hexadecimal, each hex digit must be from 0 to 9, or F.
Description: The Fifth and Sixth Characters entry specifies the characters to compare with the fifth
and sixth characters in the track data buffer. F always matches any buffer character.

EXAMPLE

Refer to the following example state table.

Entry Contents
State Number 090
State Type Z
Match Next State 100
No Match Next State 150
Indirect Next State Index 095 (Hex 5F)
Buffer ID/Delimiter 019 (Hex 13)
Delimiter Index 012
First and Second Characters 003 (Hex 03)
Third and Fourth Characters 073 (Hex 49)
Fifth and Sixth Characters 127 (Hex 7F)

The terminal proceeds as follows when it executes this state:

1. The terminal examines the track 3 data beginning at offset 12 from the last field separator
(counting forward). This position is derived from the Buffer ID/Delimiter entry and the
Delimiter Index entry.
2. The terminal compares the track data to the characters specified in the last three entries.

The specified characters are 03497F. Because the sixth character specified by the table is
F, the sixth character of track data is ignored.

3. The terminal proceeds as follows based on the result of the comparison:


o If the track data matches 03497, the terminal changes the current Indirect Next
state index to 05 and goes to state 100.
o If the track data does not match 03497, the terminal goes to state 150. The Indirect
Next state index does not change.

5.4.15 Deposit Extension State ( # or > )

The Deposit Extension state (# or >) extends the Deposit state (C). This state provides additional
fault handling to the network for deposit operations.

The Deposit Extension state always directly precedes the Deposit state that it extends. That is, the
state number of a Deposit Extension state table is one less than the state number of the Deposit
state table. All state tables that link to the Deposit state table must specify the associated Deposit
Extension state table as the next state table.

Refer to Table 5-20 for the Deposit Extension state table format.

Table 5-20 Deposit Extension State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type # or >
2 Check Accepted Screen Valid screen numbers
3 Check Handling Delay Screen Valid screen numbers
4 Check Handling Delay Time 000 - 254, 255
5 MICR Fault Next State Valid state numbers
6 Media Fault Next State Valid state numbers
7 Cancel Next State Valid state numbers
8 Document Handling Next State Valid state numbers
9 Reserved 000

The Deposit Extension state (# or >) entries are defined as follows:


State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: # or >
Description: The state type identifies this state table as a Deposit Extension state table.

Check Accepted Screen


Entry Number: 2
Valid Range: Valid screen numbers (Section 5.6)
Description: This entry contains the number of the screen to display when the IDM has accepted a
check but has not yet read or scanned the check. If the value in this entry is 000, the terminal does
not change the screen currently showing.

NOTE

The beeper stops when the IDM accepts the check.

Check Handling Delay Screen


Entry Number: 3
Valid Range: Valid screen numbers (Section 5.6)
Description: This entry contains the number of the screen to display if the time specified in the
Check Handling Delay Time entry expires. This time might expire if the IDM has difficulty locating
the MICR data on the check. This screen is used to assure the consumer that the check is still
being processed. If the value in this entry is 000, the terminal does not change the screen currently
showing.

Check Handling Delay Time


Entry Number: 4
Valid Range: 000 through 254, and 255
Description: This entry specifies how long to wait after the check is accepted before displaying the
Check Handling Delay screen. The time is specified in one-second increments. A value of 255
causes Agilis 3 91x to not display the Check Handling Delay screen. The suggested value for this
entry is 020 (20 seconds).

MICR Fault Next State


Entry Number: 5
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the IDM is not able to read a valid
MICR line. It is possible to continue processing the check if this exit is taken, depending on the
institution's MICR requirements.

Media Fault Next State


Entry Number: 6
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the terminal encounters a problem with
the deposited check or document. If this exit is taken, the check is in escrow and the terminal has
not attempted to read the MICR data or scan the check.

Cancel Next State


Entry Number: 7
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the consumer presses the Cancel key
before inserting a check or envelope during a check or envelope deposit operation.

Document Handling Next State


Entry Number: 8
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state the terminal goes to if the terminal could not transport the
check properly through the depository. This condition is a soft fault condition. The terminal can
return the check, and the consumer can retry the deposit.

Reserved
Entry Number: 9
Valid Range: 000
Description: This field is reserved.

5.4.16 Voice State ( ; )

The Voice state is used to turn the Voice feature on and off. Turning the Voice feature off
terminates any message in progress, purges any messages pending in the delay queue, and idles
the device. If the Voice feature is turned off by this state, the only way to turn the Voice feature back
on, without resetting the terminal, is to execute another Voice state with the enable flag set to 001.
The format of the Voice state is shown in Table 5-21.

Table 5-21 Voice State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type ;
2 Prompting Enable Flag 000, 001
3 Next State Valid state numbers
4 Feedback Enable Flag 000, 001
5 Beeping/Voice Prompting Coordination Flag 000, 001
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Voice state ( ; ) entries are defined as follows:


State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: ;
Description: The state type identifies this state table as a Voice state table.

Prompting Enable Flag


Entry Number: 2
Valid Range: 000 through 001
Description: This entry is a flag to tell the terminal whether to enable or disable voice prompting.
The valid values are as follows:
 000 - Disables voice prompting
 001 - Enables voice prompting

Next State
Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state which is executed immediately following completion of the Voice state.

Feedback Enable Flag


Entry Number: 4
Valid Range: 000 through 001
Description: This entry is a flag to tell the terminal whether to enable or disable voice keypad
feedback. The valid values are as follows:
 000 - Disables voice keypad feedback
 001 - Enables voice keypad feedback

Beeping/Voice Prompting Coordination Flag


Entry Number: 5
Valid Range: 000 through 001
Description: This entry is a flag to tell the terminal how to coordinate voice prompting commands
and attention beeping. The valid values are as follows:
 000 - Voice prompting commands take precedence. Beeping is suppressed.
 001 - Voice prompting commands and beeping coexist. Both are heard.

Reserved
Entry Number: 6 through 9
Valid Range: 000
Description: Must be 000.
5.4.17 Copy Buffer State ( = )

Split deposits and any other operations requiring more than one Dollar Entry state are supported by
the Copy Buffer state. This state allows for the copying of the Dollar Buffer into a General Purpose
Buffer. General Purpose Buffers B and C can be included in a Consumer Request message. By
following Dollar Entry states with Copy Buffer states, and by changing the appropriate entry in the
Transaction Request state, up to three transaction amounts can be included in the Consumer
Request message without requiring changes to the format of that message.

The structure of the Copy Buffer state is shown in Table 5-22.

Table 5-22 Copy Buffer State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type =
2 Next State Valid state numbers
3 Source Buffer ID 001
4 Reserved 000
5 Destination Buffer ID 002, 003
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Copy Buffer state ( = ) entries are defined as follows.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: =
Description: The state type identifies this state table as a Copy Buffer state table.

Next State
Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The number of the state that is executed immediately following completion of the
Copy Buffer state.

Source Buffer ID
Entry Number: 3
Valid Range: 001
Description: The identifier of the buffer of which a copy is to be made. The action of copying does
not affect the source buffer. The only valid value for this entry is 001. All other values are reserved.

Reserved
Entry Number: 4
Valid Range: 000
Description: Must be 000.

Destination Buffer ID
Entry Number: 5
Valid Range: 002 or 003
Description: The identifier of the buffer to which the source buffer is copied. The valid values are
as follows:
 002 - General Purpose Buffer B
 003 - General Purpose Buffer C

All other values are reserved.

Reserved
Entry Number: 6 through 9
Valid Range: 000
Description: Must be 000.

5.4.18 Transaction Request Extension State ( ) or > )

The Transaction Request Extension state extends the Transaction Request state ( I ) to support the
Cancel key during the Transaction Request processing.

The Transaction Request Extension state always directly precedes the Transaction Request state
that it extends. That is, the state number of a Transaction Request Extension state table is one less
than the state number of the Transaction Request state table. All state tables that link to the
Transaction Request state table must specify the associated Transaction Request Extension state
table as the next state table.

Refer to Table 5-23 for the Transaction Request Extension state table format.

Table 5-23 Transaction Request Extension State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type ) or >
2 Cancel Key Next State Valid state numbers
3 Cancel After Function Next State Valid state numbers
4 Reserved 000
5 Reserved 000
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Transaction Request Extension state ( ) or > ) entries are defined as follows.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: ) or >
Description: The State Type entry identifies this state table as a Transaction Request Extension
state table.

Cancel Key Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Cancel Key Next State entry tells the terminal which state to go to if the
consumer presses the Cancel key before the terminal receives a Function Command message.
Enter 255 to deactivate the Cancel key during this state.

Cancel After Function Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Cancel After Function Next State entry tells the terminal which state to go to if the
consumer presses the Cancel key during the processing of a function command. The terminal
terminates function command processing between function IDs. A command reject condition is
reported to the network and the terminal goes to the next state specified by this entry. Enter 255 to
deactivate the Cancel key during this state.

NOTE

If the Function Command message contained multiple function IDs, the network must parse
the Check Point status included in the Specific Command Reject status in order to determine
which functions were executed before processing was cancelled.

Reserved
Entry Number: 4 through 9
Valid Range: 000
Description: Must be 000.

5.4.19 Function Key Extension State ( > )

The Function Key Extension state extends several 9000-style state tables to support the use of
additional function keys. The Function Key Extension state extends the following state tables:
 PIN Entry state (B)
 Clear Keys state (D)
 Select Function state (E)
 Dollar Entry state (F)
 Information Entry state (H)

Terminals that have more than four function keys do not automatically require you to extend every
B, D, E, F, and H state table in the transaction sequence, or to extend any of them. If in a given
instance you need to activate only the function keys allowed by the 9000-style state table, omit the
Function Key Extension state.

The state that is being extended (B, D, E, F, or H) is referred to as the base state. The function of all
the entries in the base state table remains the same as if the state were not extended. The
extension process merely adds definitions for operating additional functional keys.

The Function Key Extension state always directly precedes the base state. That is, the state
number of a Function Key Extension state table is one less than the state number of the base state
table. All state tables that link to the base state table must specify the associated Function Key
Extension state table as the next state table.

Section 5.4.19.1 describes the Function Key Extension state as it applies to the D, E, F, and H
states. Section 5.4.19.2 describes the Function Key Extension state as it applies to the B state.

NOTE

If the terminal is using the Voice feature and a function key (J, K, L, or M) has been assigned
as a volume key or a repeat key, Agilis 3 91x ignores any attempt to enable that function key
for any other use during a consumer session. For details, refer to Section 5.11.

Alternate State Types


If your system or network requires a separate extension state type for each type of base state, the
following extension state types have been assigned.
Base State Extension State Type
B "
D $
E %
F &
H (

5.4.19.1 Function Key Extension for D, E, F, and H States

The Function Key Extension state extends D, E, F, and H state tables to support the use of the F,
G, H, I., J, K, L, and M function keys. Without the extension, those state tables support A, B, C, and
D key operation only. The entries in a Function Key Extension state table supplement the key
defining entries of a state table by defining the operation of the F, G, H, I, J, K, L, and M keys.

Refer to Table 5-24 for the Function Key Extension state table format.
Table 5-24 Function Key Extension State Entries
Entry Valid Range
State Number Valid state numbers
1 State Type >
2 Function Key F Refer to the description.
3 Function Key G Refer to the description.
4 Function Key H Refer to the description.
5 Function Key I Refer to the description.
6 Function Key J (OK) Refer to the description.
7 Function Key K (CORR) Refer to the description.
8 Function Key L Refer to the description.
9 Function Key M Refer to the description.

The Function Key Extension state ( > ) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: >
Description: The State Type entry identifies this state table as a Function Key Extension state
table.

Function Key F
Entry Number: 2
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

Function Key G
Entry Number: 3
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

Function Key H
Entry Number: 4
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.
Function Key I
Entry Number: 5
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

Function Key J (OK)


Entry Number: 6
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

Function Key K (CORR)


Entry Number: 7
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

Function Key L
Entry Number: 8
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

Function Key M
Entry Number: 9
Valid Range: The range for this entry is the same as for the function keys in the base state.
Description: The function of this entry is the same as for the function keys in the base state. An
entry of 255 disables the key for this state.

EXAMPLE

Refer to the following example state table.

State 057 Entry Value State 058 Entry Value


State Number 057 State Number 058
State Type > State Type E
Function Key F 104 Screen Number 023
Function Key G 105 Time-out Next State 026
Function Key H 106 Cancel Next State 020
Function Key I 107 Function Key A Next State 100
Function Key J (OK) 108 Function Key B Next State 101
Function Key K (CORR) 109 Function Key C Next State 102
Function Key L 255 Function Key D Next State 103
Function Key M 255 Function Key Buffer Location 003

Assume that the terminal has just finished processing a state table that specifies state 057 as the
next state table. Processing proceeds as follows:

1. The terminal recognizes state 057 as a Function Key Extension state table and combines
state 057 with the state table that follows it, state 058.
2. The terminal shows screen 023 (the Screen Number entry of state 058). Screen 023
prompts the consumer to press one of the eight function keys, the OK key, or the CORR
key.
3. The consumer presses the OK key.
4. The terminal stores the key code for the OK key (J) in byte 3 of the Function Key Buffer (the
Function Key Buffer Location entry of state 058).
5. The terminal exits to state 108 (the Function Key J entry of state 057).

5.4.19.2 Function Key Extension for PIN Entry State

When the Function Key Extension state is used with the PIN Entry state (B), the operation is
functionally different. The extension state supports the use of function keys A, B, C, D, J, K, L, and
M. All enabled keys perform only one function, the termination of a variable-length PIN entry. The
keys are either enabled (value of 001) or disabled (value of 255).

5.4.20 Delivery Area Sensors State ( ? )

The Delivery Area Sensors state provides additional control of a bill dispense operation when using
the No Retract feature (Section 3.1.7). This state directs the terminal to check the delivery area
sensors and modify the transaction sequence based on the result.

If one or more sensors are blocked, the Delivery Area Sensors state generates an Unsolicited
Status message to report a Delivery Area Sensors status (Section 6.3.6).

See Table 5-25 for the Delivery Area Sensors state table format.

Table 5-25 Delivery Area Sensors State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type ?
2 Clear Sensors Next State Valid state numbers
3 Blocked Sensors Next State Valid state numbers
4 Dispenser Device ID 000, 001, or 002
5 Reserved 000
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Delivery Area Sensors ( ? ) state entries are defined as follows:


State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: ?
Description: The State Type entry identifies this state table as a Delivery Area Sensors state table.

Clear Sensors Next State


Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1).
Description: The Clear Sensors Next State entry specifies the exit state the terminal goes to if no
delivery area sensor is blocked.

NOTE

If the No Retract feature is not enabled, the terminal always goes to the Clear Sensors Next
State exit, and does not report a Delivery Area Sensors status.

Blocked Sensor Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1).
Description: The Blocked Sensor Next State entry specifies the exit state the terminal goes to if
one or more delivery area sensors are blocked.

Dispenser Device ID
Entry Number: 4
Valid Range: 000, 001, or 002
Description: Dispenser Device ID defined with this state directs the terminal to check the delivery
area sensor for that particular dispenser:
 000 - Default value
 001 - Primary dispenser
 002 - Secondary dispenser

Reserved
Entry Numbers: 4 through 9
Valid Range: 000
Description: The terminal does not use these entries.

5.4.21 Set Language Bank State ( [ )


The Set Language Bank state selects the appropriate language bank to use for screen retrieval
when supporting the Multilingual feature. For more details on the Multilingual feature, refer to
Section 5.10.

Refer to Table 5-26 for the Set Language Bank state table format.

Table 5-26 Set Language Bank State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type [
2 Next State Valid state numbers
3 Language Bank Number 000 - 255
4 Reserved 000
5 Reserved 000
6 Reserved 000
7 Reserved 000
8 Reserved 000
9 Reserved 000

The Set Language Bank state ( [ ) entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: [
Description: The State Type entry identifies this state table as a Set Language Bank state table.

Next State
Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Next State entry specifies the state table that the terminal processes after
establishing the Language Bank number.

Language Bank Number


Entry Number: 3
Valid Range: 000 through 255
Description: The Language Bank number entry specifies the language bank to use for screens.

Reserved
Entry Number: 4 through 9
Valid Range: 000
Description: The terminal does not use these entries.

5.4.22 Buffer Arithmetic State ( \ )

The Buffer Arithmetic state ( \ ) adds or subtracts ASCII decimal buffers.

The structure of the Buffer Arithmetic state is shown in Table 5-27.

Table 5-27 Buffer Arithmetic State Entries


Entry Valid Range
State Number Valid state numbers
1 State Type \
2 Positive Result Next State Valid state numbers
3 Negative Result Next State Valid state numbers
4 Buffer 1 ID 065 - 090, 256 - 355
5 Buffer 2 ID 065 - 090, 256 - 355
6 Result Buffer ID 065 - 090, 256 - 355
7 Operation to Perform 000, 001
8 Reserved 000
9 Reserved 000

The Buffer Arithmetic state ( \ ) entries are defined as follows.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Entry Number: 1
Valid Range: \
Description: The state type identifies this state table as a Buffer Arithmetic state.

Positive Result Next State


Entry Number: 2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state to go to for the addition operation. This exit is also taken for the subtraction
operation if the value contained in buffer 1 is as large as or is larger than the value contained in
buffer 2.

Negative Result Next State


Entry Number: 3
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state to go to for the subtraction operation. This exit is only taken if the value
contained in buffer 2 is larger than the value contained in buffer 1.

Buffer 1 ID
Entry Number: 4
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: This is the ID of the buffer that contains the value to be added to or subtracted from.
This entry is set to the decimal ASCII value of the ID of the buffer to be used.

Buffer 2 ID
Entry Number: 5
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: This entry contains the buffer ID of the buffer that contains the value to be added or
subtracted. This entry is set to the decimal ASCII value of the ID of the buffer to be used.

Result Buffer ID
Entry Number: 6
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: This entry contains the buffer ID of the buffer to contain the result of the given
operation. This entry is set to the decimal ASCII value of the ID of the buffer to be used. This entry
can be the same buffer ID as given in either entry 4 or 5.

Operation to Perform
Entry Number: 7
Valid Range: 000 and 001
Description: This entry identifies the operation to be performed with the specified buffers. The valid
values are as follows:
 000 - This value directs the terminal to add buffer 1 and buffer 2 and place the result in the
result buffer specified.
NOTE
If two 8-digit ASCII buffers are added, the result might need to be expanded to a 9-
digit ASCII buffer. The result buffer size is always at least as large as the larger of the
two buffers to be added.
 001 - This value directs the terminal to subtract buffer 2 from buffer 1. The result buffer
always contains the difference between the two buffers (a positive value). If the contents of
buffer 2 is larger than buffer 1, the Negative Result Next State path is taken. Otherwise, the
Positive Result Next State path is used. The result buffer is always the same length as the
longer of buffers 1 and 2.

Reserved
Entry Number: 8 and 9
Valid Range: 000
Description: These entries are reserved and are always 000.

5.5 Enhanced States

The following enhanced states are supported.


State Type State Name Refer to...
AU b Text To Speech state Section 5.5.1
AV b Device Available state Section 5.5.2
CI b Currency Acceptor state Section 5.5.3
CR b Card Reader state Section 5.5.5
DP b Depositor state (single-item deposits) Section 5.5.6
(DP b) Depositor state (bulk document deposits) Section 5.5.7
EP b Get Encrypted PIN state Section 5.5.8
IC b Image Character Recognition state Section 5.5.9
PR b Printer state (receipt printer) Section 5.5.10
(PR b) Printer state (journal printer) Section 5.5.11
(PR b) Printer state (electronic journal) Section 5.5.12
(PB b) Printer state (passbook printer) Section 5.5.13
@B b Check FIT state Section 5.5.14
@C b Check PIN state Section 5.5.15
@D b Information Entry state Section 5.5.16
@E b Buffer Compare state Section 5.5.17
@F b Set Buffer state Section 5.5.18
@G b Buffer Copy state Section 5.5.19
@H b Check Buffer state Section 5.5.20
@I b Transaction Request state Section 5.5.21
@K b Indirect Next state Section 5.5.22
@L b Create Buffer state Section 5.5.23
@M b Track Buffer Compare state Section 5.5.24
@N b Buffer Shift state Section 5.5.25
@O b Buffer Arithmetic state Section 5.5.26
@P b Copy Buffer Data state Section 5.5.27
@Q b Buffer Overlay state Section 5.5.28
@V b Voice state Section 5.5.29
@X b Multi-tasking state Section 5.5.30
@Y b Set Language Bank state Section 5.5.31
@Z b Close state Section 5.5.32

Required and Optional Entries


All the state tables contain entries that the network is required to send with the state data. Some
state tables also contain optional entries. The optional entries are shown in italics in this section. If
an optional entry is included in the state data, all entries shown as preceding the optional entry in
the state table must be included, even those identified as being optional. This is necessary so that
the system can properly parse the state data.

Configured Timers
The standard configured timers are described in Section 5.15. These timers are labeled as timers
00 through 31. When timers are used with enhanced states, these timers must be prefixed with a 9.
For example, to use timer 04 with an enhanced state, the state data must refer to the timer as 904.
Timers 00 through 31 can be used in the terminals. Any timer that is not reserved (Section 5.15)
can be downloaded to the terminal in a Write Command 3 message at the Developer's discretion.

5.5.1 Text To Speech State (AUb)

The format of the Text To Speech state table is shown in Table 5-28. The Text To Speech state is
part of the Voice feature. The state data directs the terminal to convert a text string to audible
speech. The text must have been previously stored in the buffer specified in the state table.

Table 5-28 Text To Speech State Format


Entry Valid Range
State Number Valid state numbers
State Type AU b
Unit Number 001
Next State Valid state numbers
Interrupt Flag 000 - 002
Buffer ID 065 - 090
Template Number 000 - 099
Delay 000 - 255
Reserved 000
Reserved 000
Reserved 000

The following paragraphs describe each entry in the Text To Speech state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: AU b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Unit Number
Valid Range: 001
Description: The unit number for the Text To Speech state must be 001.

Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Next State entry identifies the next state the terminal goes to after performing the
Text To Speech state processing.

Interrupt Flag
Valid Range: 000 through 002
Description: The interrupt flag indicates how the terminal should queue the message retrieved
from the specified buffer.
 000 - Add the message to the message queue. Do not terminate the message currently in
progress.
 001 - Terminate the message in progress, purge the message queue, and proceed with the
new message.
 002 - Terminate the message in progress. Purge the message queue.

Buffer ID
Valid Range: 065 through 090 (A through Z)
Description: The Buffer ID entry identifies the buffer containing the text to be spoken. SAPI XML
tags and Diebold Text To Speech tags can be embedded in the text. The text to be spoken can be
in either UTF-7 or UTF-8 unicode format (set in the Agilis Configuration Utility).

For detailed information on SAPI XML tags and Diebold Text To Speech tags, refer to Section 5.11.

Template Number
Valid Range: 000 through 099
Description: The Template Number entry specifies a format template to use for interpreting the
specified text as a cash amount (for example, a transaction amount or an account balance). If this
entry contains the value 000, no format template is applied to the text. The TTS engine determines
the syntax used to speak the formatted text. For information about using format templates to format
text, refer to Section 5.19.

Delay
Valid Range: 000 through 255
Description: The Delay entry specifies the number of seconds to delay before speaking the
message.

Reserved (3 entries)
Valid Range: 000
Description: These three entries are reserved for future use.

5.5.2 Device Available State (AVb)

The Device Available (AV b) state is supported by Agilis 3 91x Service Pack (SP) 3 and later
versions.

The format of the Device Available state table is shown in Table 5-29. The Device Available state
data indicates whether a device is available before a consumer continues with a transaction that
requires the device.

Table 5-29 Device Available State Format


Entry Valid Range
State Number Valid state numbers
State Type AV b
Device Available Next State Valid state numbers
Device Not Available Next State Valid state numbers
Device ID Valid device ID

The following paragraphs describe each entry in the Device Available state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: AV b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Device Available Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Device Available Next State entry identifies the exit state to which the terminal
goes when the specified device is available for transaction.

Device Not Available Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Device Not Available Next State entry identifies the exit state to which the
terminal goes when the specified device is not available for transaction.

Device ID
Field Size: 4 to 9 characters
Valid Range: Valid CEN-specific device IDs are listed in Table 5-30.

CEN-specific device IDs are 9-character long.

Table 5-30 Valid CEN-specific Device IDs


CEN-specific Device ID Device Name
‘B''A''R' Bar Code Reader
‘C''D''M' Currency Dispenser
‘C''I''M' Cash In Module
‘D''E''P' Envelop Depositor
‘I''D''C' Card Reader
‘I''D''M' Intelligent Depositor such as IDM V
‘I''P''M' Item Processing Module such as IDMbd
‘P''I''N' Encrypting PIN Pad
‘P''R''J' Journal Printer
‘P''R''P' Passbook Printer
‘P''R''R' Receipt Printer
‘P''R''S' Statement Printer

Valid 91x-specific device IDs are listed in Table 5-31.

91x-specific device IDs are 4-character long.

Table 5-31 91x-specific Device IDs


91x-specific
Device ID Device Name
AH01 After Hour Depository
DI01 Primary Currency Dispenser
DI02 Secondary Currency Dispenser
CN01 Coin Dispenser
CI01 Cash In Module
DP01 Envelop Depositor, (OR) Intelligent Depositor such as IDM V, (OR) Item
Processing Module such as IDMbd
CR01 Card Reader
EP01 Encrypting PIN Pad
PR01 Receipt Printer
PR02 Journal Printer
PB01 Passbook Printer
SP01 Statement Printer

NOTE

Support for CEN-specific Device IDs will be discontinued from next release of Agilis 3 91x.

The 91x-specific Device IDs are supported from the Agilis 3 91x SP4 release onwards. It is
hence recommend that you use 91x-specific Device IDs.

Description: The device ID identifies the device whose device available state is reported.

EXAMPLE

Consider the following example for the Device Available state:

100AV 110120CI01
Entry Valid Range
State Number 100
State Type AV b
Device Available Next State 110
Device Not Available Next State 120
Device ID CI01

This example state directs the terminal to do the following:

 Defines the state number as 100.


 Provides the device available state for the cash-in module whose device ID is CI01 in the
91x-specific format.
 If the cash-in module is available, then directs the terminal to go to state 110.
 If the cash-in module is not available, then directs the terminal to go to state 120.

5.5.3 Currency Acceptor State (CIb)

The Currency Acceptor state directs the terminal to perform specific cash deposit operations. The
format of the Currency Acceptor state entries is shown in Table 5-32. The Operation entry in the
state data determines which operation the terminal performs.

The state data can designate several buffers for storing the results of cash deposit transactions.
The following results can be stored:

 The total value of the deposited cash


 A currency code that identifies the currency type used in the transaction
 The individual denomination counts for the deposited cash
 If fraudulent note detection is enabled, amounts and denomination counts for counterfeit
and suspect notes detected during processing.

These buffers can be used to provide detailed transaction information to the network and for
displaying deposit information to the consumer during the transaction.

For more information on these buffers, refer to the detailed buffer descriptions that follow Table 5-
32.

On terminals using a currency acceptor, buffers 310 through 325, 342 through 345, 354, and 355
are reserved for system use, as described in the paragraphs labeled Additional Denomination
Data and Buffer Pair for Counterfeit Amount and Count in this section. When a currency
acceptor is installed and enabled at a terminal, the network programmer should use these reserved
buffers only as described for cash deposit transactions, and should not use these buffers for any
other type of transaction or function.

For an example transaction flow for cash deposit transactions, refer to Figure 5-1 at the end of this
section.

Table 5-32 Currency Acceptor State Format


Entry Valid Range
State Number Valid state numbers
State Type CI b
Unit Number 001
Operation 001 - 009
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Cancel Next State Valid state numbers
Deposit Fault Next State Valid state numbers
No Media Next State Valid state numbers
Retract Option 000 - 001
Screen 2 Valid screen numbers
Screen 3 Valid screen numbers
[1]
Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[1]
Currency Code Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Currency Code Buffer ID 2 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Counterfeit Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Counterfeit Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Suspect Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Suspect Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Reserved 000
[1]
For single-currency terminals, this entry is optional. For multiple-currency terminals, this entry is
required.
[2]
These entries are optional.

The following paragraphs describe each entry in the Currency Acceptor state table.

NOTE

In the following descriptions, configured currencies or denominations are those currencies


or denominations that the terminal is configured to accept (based on ACU or Write
Command 20 message configuration).

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.
State Type
Valid Range: CI b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Unit Number
Valid Range: 001
Description: The unit number for the Currency Acceptor state must be 001.

Operation
Valid Range: 001 through 009
Description: The operation entry tells the terminal which operations to perform.

The following information describes Currency Acceptor operations for:

 Pocket style devices such as BNA and BCR


 Non-pocket style devices such as ENA and ECRM

Currency Acceptor Operations for Pocket Style Devices


The currency acceptor operations for pocket styles devices, such as Bulk Cash Recycler (BCR)
and the Bulk Note Acceptor (BNA) are discussed in this section.

NOTE

The currency acceptor operations for Enhanced Note Acceptor (ENA) and Enhanced Cash
Recycler Module (ECRM) are discussed in the later section.

001 (Cash Deposit). This operation is the first step of a cash deposit sequence. The shutter opens,
and monitoring for the insertion of cash starts. When cash is inserted, the operation is complete and
the Good Operation Next State exit is taken. The shutter remains open.

Timeout of this operation is controlled by the Consumer Response Time entry. If cash is not
inserted in the allotted time, the terminal stores the Consumer Fault Next State entry for subsequent
processing, then takes the Good Operation Next State exit.

The Cancel key is enabled at the start of this operation. If the Cancel key is pressed, the terminal
stores the Cancel Next State entry for subsequent processing, then takes the Good Operation Next
State exit.

If there is cash in the input area at the start of this operation (and if the shutter is not already
open), then before the shutter opens, the terminal verifies the cash, places the cash in the
appropriate cassette(s), and reports a Cash Retracted During Deposit status (CI01:3F:32:31) to the
network.

If there are items in the reject area at the start of this operation, the rejected items are retracted to
the appropriate cassette, and the terminal reports a Cash Retracted During Deposit status to the
network.

NOTE
A Bulk Note Acceptor cannot retract items from its reject area. If there are items in the reject
area at the start of this operation (and if Cashguard is not in effect), the shutter opens and
reserved screen 007 displays to prompt the consumer to remove the rejected items.

For single-currency terminals, buffer IDs, screen 2, screen 3, and the Retract option do not apply to
this operation. Their respective entries do not need to be included.

For multiple-currency terminals, the currency code buffer (specified by the Currency Code Buffer ID
entry) determines which currency type(s) are allowed for the transaction. If the buffer does not
contain a valid currency code (for a configured currency) or ***, the terminal takes the Network Fault
Next State exit.

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios), the
first Cash Deposit operation determines the currency type(s) for the entire transaction (that is, until
the next Cash Retain, Cash Return, or Cash Clear operation, or the next Close state).

NOTE

For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal takes the Network Fault Next State exit.

For multiple-currency terminals, screen 2, screen 3, and the Retract option do not apply to this
operation, but the entries must be included.

002 (Cash Verify). The shutter closes. The inserted cash is verified, counted, and placed in escrow.
(If there is already cash in escrow, the newly verified cash is added to the cash already in escrow.)
Cumulative amounts and bill counts for the current transaction are written to buffers indicated by the
buffer ID entries included in the state data (for details, refer to the description for each buffer ID
entry). The Retract option does not apply to this operation, but the entry must be included. The
Cancel key is not enabled for this operation.

If the shutter cannot close at the start of the operation (for example, due to a blockage), the
terminal takes the Hardware Fault Next State exit and reports a hardware fault and a shutter jam to
the network.

If the input area is empty at the start of the operation, and if the preceding Cash Deposit operation
ended in either a timeout or a cancel, the terminal takes the appropriate exit using the next state
data stored by the Cash Deposit operation (Consumer Fault Next State or Cancel Next State). If a
Cash Deposit timeout or cancel did not occur, but the input area and escrow are both empty, the
terminal takes the No Media Next State exit.

If there are too many bills in the input area at the start of the operation, the terminal makes no
attempt to verify any bills. The shutter opens and screen3 displays to prompt the consumer to
remove the bills. After the consumer removes the bills, the shutter closes, and the terminal takes
the appropriate exit (No Media Next State if escrow is empty, otherwise Good Operation Next
State). Timeout for removing the bills is controlled by the Consumer Response Time entry.

If escrow becomes full before all the bills are verified, the shutter opens and screen 2 displays to
prompt the consumer to remove the excess bills . After the consumer removes the excess bills, the
shutter closes, and the terminal takes the Deposit Fault Next State exit. Timeout for removing the
excess bills is controlled by the Consumer Response Time entry.
If any bills or other items are rejected during verification, the rejected items are placed in the
reject area. After all the bills have been verified, the shutter opens, and screen 2 displays to prompt
the consumer to remove the rejected items. After the consumer removes the rejected items, the
shutter closes, and the terminal takes the appropriate exit (Deposit Fault Next State if escrow is full,
No Media Next State if escrow is empty, or Good Operation Next State). Timeout for removing the
rejected items is controlled by the Consumer Response Time entry. If the rejected items are not
removed in the allotted time, the terminal automatically shows the More Time screen and starts
timer 01 (enhanced timer 901).

If a blockage in the input area prevents the processing of one or more bills, the shutter opens and
screen 3 displays to prompt the consumer to remove the bills. After the consumer removes the bills,
the shutter closes, and the terminal takes the appropriate exit (Deposit Fault Next State if escrow is
full, No Media Next State if escrow is empty, or Good Operation Next State). Timeout for removing
the blocked bills is controlled by the Consumer Response Time entry.

NOTE

The Cash Verify operation must follow a Cash Deposit operation (from either a state or a
function command). Otherwise, an invalid sequence error is generated, and the terminal
takes the Network Fault Next State exit.

003 (Cash Retain). The cash is moved from the escrow area and placed in the appropriate
cassette(s). Cumulative amounts and bill counts for the current transaction are written to buffers
indicated by the buffer ID entries included in the function data (for details, refer to the description for
each buffer ID entry).

The consumer response timeout, screen 2, screen 3, and Retract option do not apply to this
operation, but the entries must be included. The Cancel key is not enabled for this operation.

Cassette counts are updated according to the number and denomination of the notes during this
operation. Some cash-accepting devices re-validate currency at this time. For such devices, cash
moving from escrow to the bins may be skewed, shingled, or stuck together, making them
unverifiable during the retain operation, causing the cassette counts to reflect additional type 1
note(s) and a reduced count of type 4 notes.

NOTE

The Cash Retain operation must follow a Cash Verify operation (from either a state or a
function command). Otherwise, an invalid sequence error is generated, and the terminal
reports a Network Fault status (CI01:3F:40:31).

004 (Cash Return). If this operation is performed after a Cash Verify operation, the cash in the
escrow area is moved to the input area and the shutter opens. When the shutter opens, screen 2
displays to prompt the consumer to remove the bills. After the bills have been removed, the shutter
closes.

If this operation is performed after a Cash Deposit operation, the shutter closes and the inserted
cash is verified and placed in escrow. If any items are rejected, the rejected items are returned to
the consumer. After the rejected items (if any) are removed, the cash in the escrow area is moved
to the input area and the shutter opens. Screen 2 displays to prompt the consumer to remove the
bills. After the bills have been removed, the shutter closes.

If the preceding Cash Deposit operation ended in either a timeout or a cancel, and if the input area
is empty at the start of the Cash Return operation, the terminal takes the appropriate exit using the
next state data stored by the Cash Deposit operation (Consumer Fault Next State or Cancel Next
State).

Timeout of this operation is controlled by the Consumer Response Time entry. If a timeout occurs,
the shutter closes, and the terminal takes the Consumer Fault Next State exit.

NOTE

A Bulk Note Acceptor cannot move cash to the input area if there are items in its reject area.
If there are items in the reject area at the start of this operation, then before the cash is
returned, the shutter opens and screen 2 displays to prompt the consumer to remove the
rejected items. After the items are removed, the terminal returns the escrowed cash to the
consumer.

The Retract option does not apply to this operation, but the entry must be included. Buffer IDs and
screen 3 do not apply to this operation. Their respective entries do not need to be included. The
Cancel key is not enabled for this operation.

005 (Cash Clear). The shutter closes if it is open. If there are any bills in the input area or in
escrow, the bills are combined and either placed in the appropriate cassettes or placed in the input
area, depending on the setting of the Retract option. The shutter remains closed during this
operation.

When bills are placed in the input area during a Cash Clear operation, the cash is not accessible to
the consumer, because the shutter remains closed.

If this operation follows a Cash Deposit operation that ended in either a timeout or a cancel, and if
the input area is empty at the start of the Cash Clear operation, the terminal takes the appropriate
exit using the next state data stored by the Cash Deposit operation (Consumer Fault Next State or
Cancel Next State).

NOTE

A Bulk Note Acceptor cannot move cash to the input area if there are items in its reject area.
If there are items in the reject area when moving bills to the input area, the terminal takes the
Hardware Fault Next State exit without attempting to place the cash in the input area.

The consumer response time does not apply to this operation, but the entry must be included.
Buffer IDs, screen 2, and screen 3 do not apply to this operation. Their respective entries do not
need to be included. The Cancel key is not enabled for this operation.

006 (Insert Cash and Start Verify). An optional OK button can be made available to allow the
consumers to indicate that they have inserted notes in the pocket style devices.

If optional OK button is not desired on the pocket style devices, the Insert Cash and Start
Verify operation is the first step of a cash deposit sequence of a Rapid (Parallel) Processing
transaction with the Cash First option. The shutter opens, and starts monitoring for insertion of
cash. As soon as terminal detects insertion of cash, the shutter closes. Then, this operation starts
the note verification process and exits with a Good Operation Next State. The terminal does not
wait in this operation for the cash verification process to complete.

If optional OK button is desired on the pocket style devices, the Insert Cash and Start Verify
operation is no longer an Insert Cash operation but only a Start Verify operation. In this case, the
Cash Deposit operation (CI 001) is the first step of a cash deposit sequence of a Rapid (Parallel)
Processing transaction with the Cash First option. Information Entry State @D or Select Function
State E prompts the consumer for input. If the consumer presses the OK button, the Start Verify
operation closes the shutter, starts the note verification process, and exits with a Good Operation
Next State. The terminal does not wait in this operation for the cash verification process to
complete.

The note verification process and rest of cash verification activities, such as filling buffers and
updating any counts are done in background. Once the cash is verified, it is counted and placed in
the escrow. If cash is already present in the escrow, the newly verified cash is added to the cash
already in the escrow. Cumulative amounts and bill counts for the current transaction are written to
buffers indicated by the buffer ID entries included in the state data (for details, refer to the
description for each buffer ID entry).

Timeout of this operation is controlled by the Consumer Response Time entry and the Consumer
Fault Next State entry from the state data. Initially, the Cancel key is enabled (if the Cancel key is
pressed, the terminal goes to the state specified by the Cancel Next State entry from the state
data), but when cash verification begins, the Cancel key is disabled, and the state exits.

If the shutter cannot open at the start of the operation, the terminal takes the Hardware Fault Next
State exit, and reports a shutter not open status to the network.

If the cash stack is too long or the shutter cannot close, the terminal will take the Hardware
Fault Next State exit and report a shutter not closed status to the network.

If there is cash in the input area at the start of this operation (and if the shutter is not already
open), then before the shutter opens, the terminal verifies the cash, places the cash in the
appropriate cassette(s), and reports a Cash Retracted During Deposit status (CI01:3F:32:31) to the
network.

If the input area and escrow are both empty at the start of the verify part of the operation, the
terminal takes the Good Operation Next State. In the following CI007 operation, the terminal will
take the No Media Next State and send the 3F:31:31 status to the network.

A Bulk Note Acceptor cannot retract items from its reject area. If there are items in the reject area
at the start of this operation (and if Cash Guard is not in effect), the shutter opens and reserved
screen 007 displays to prompt the consumer to remove the rejected items.

For deposit more and add more cash scenarios, this operation can be called again after
Conditional Return Rejected Items using Information Entry State @D. If the user selects Yes, the
state flow would return to the Insert Cash and Start Verify operation to add more cash. If this
operation is called again immediately without calling Conditional Return Rejected Items in between
then an invalid sequence error is generated, and the terminal takes the Network Fault Next State
exit.

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios),
the first Cash Deposit operation determines the currency type(s) for the entire transaction (that is,
until the next Confirm Cash Retained, Cash Return, or Cash Clear operation, or the next Close
state).

NOTE
For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal takes the Network Fault Next State exit.

The Retract option does not apply to this operation, but the entry must be included.

Any other errors or jams that occur during cash verification process are either sent as unsolicited
message, or found on the next operation (Conditional Return Rejected Items).

NOTE

If Insert Cash and Start Verify operation is used out of sequence, that is, if retain operation is
in progress (called immediately after Retain Cash and Don't Wait operation), or used
immediately after CI operation 002, then an invalid sequence error is generated, and the
terminal takes the Network Fault Next State exit.

007 (Conditional Return Rejected Items). The Conditional Return Rejected Items operation
monitors the cash verification process that was started in the Insert Cash and Start Verify operation.
This operation waits for cash verification process to complete, and then returns rejected items if
they are available. The terminal presents any rejected items to the customer and displays a screen
informing the customer to remove the rejected items.

Terminal takes Good Operation Next State if rejected notes are not available, or once they are
removed. Also, terminal takes appropriate actions and exits based on the status of cash verification
process.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

If escrow was filled before all the bills are verified, the shutter opens during this operation and
screen 2 displays to prompt the consumer to remove the excess bills. After the consumer removes
the excess bills during this operation, the shutter closes, and the terminal takes the Deposit Fault
Next State exit. Timeout for removing the excess bills is controlled by the Consumer Response
Time entry.

If any bills or other items are rejected during verification, the rejected items are placed in the
reject area. After all the bills have been verified, and this operation is called, the shutter opens, and
the screen 2 displays to prompt the consumer to remove the rejected items. After the consumer
removes the rejected items, the shutter closes, and the terminal takes the appropriate exit (Deposit
Fault Next State if escrow is full, No Media Next State if escrow is empty, or Good Operation Next
State). Timeout for removing the rejected items is controlled by the Consumer Response Time
entry. If the rejected items are not removed in the allotted time, the terminal automatically shows the
More Time screen and starts timer 01 (enhanced timer 901). If rejected items are not taken even
after the More Time timeout, the shutter is closed.

If the shutter cannot close after the consumer removes the rejected notes (for example, due to a
blockage), the terminal takes the Hardware Fault Next State exit, and reports a shutter not closed
status to the network.

If a blockage in the input area (for example bills that cannot be picked from the input area)
prevents the processing of one or more bills when this operation is called, the shutter opens and the
screen 3 displays to prompt the consumer to remove the bills. After the consumer removes the bills,
the shutter closes, and the terminal takes the appropriate exit (Deposit Fault Next State if escrow is
full, No Media Next State if escrow is empty, or Good Operation Next State). Timeout for removing
the blocked bills is controlled by the Consumer Response Time entry.
If the input area and escrow are both empty at the start the operation, the terminal will take the
No Media Next State and send the 3F:31:31 status to the network.

If there are too many bills in the input area, the shutter opens and the screen 3 displays to
prompt the consumer to remove the bills. After the consumer removes the bills, the shutter closes,
and the terminal takes the appropriate exit (No Media Next State if escrow is empty, otherwise
Good Operation Next State). Timeout for removing the bills is controlled by the Consumer
Response Time entry.

NOTE

The Conditional Return Rejected Items operation must follow an Insert Cash and Start Verify
operation (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal takes the Network Fault Next State exit.

008 (Retain Cash and Don't Wait). The Retain Cash and Don't Wait operation begins performing
the cash retain operation and then immediately exits with a Good Operation Next State.

This operation also writes the cumulative amounts and bill counts for the current transaction to
buffers indicated by the buffer ID entries included in the state data. The consumer response
timeout, screen 2, screen 3, and the Retract option do not apply to this operation, but the entries
must be included. The Cancel key is not enabled for this operation.

Any errors or jams that occur are either sent as unsolicited message, or found on the next operation
(Confirm Cash Retained).

NOTE

The Retain Cash and Don't Wait operation must follow a Conditional Return Rejected Items
operations (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal takes the Network Fault Next State exit.

009 (Confirm Cash Retained). The Confirm Cash Retained operation checks for the completion of
the cash retaining process that was started in Retain Cash and Don't Wait operation. If cash
retaining process is over, this operation takes Good Operation Next State. Otherwise, the state
waits in this operation for cash retaining to complete before proceeding.

Confirm Cash Retained operation is needed to ensure that terminal waits for the completion of cash
retaining process, started in the Retain Cash and Don't Wait operation, before closing the
transaction. Based on the status of cash retain activity, terminal takes appropriate actions, and the
state exits. The consumer response timeout, screen 2, screen 3, and the Retract option do not
apply to this operation, but the entries must be included. The Cancel key is not enabled for this
operation.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

NOTE

The Confirm Cash Retained operation must follow a Retain Cash and Don't Wait operation
(from either a state or a function command). Otherwise, an invalid sequence error is
generated, and the terminal takes the Network Fault Next State exit.

Currency Acceptor Operations for Non-pocket Style Devices


The currency acceptor operations for non-pocket style devices, such as Enhanced Note Acceptor
(ENA) and Enhanced Cash Recycler Module (ECRM) are:

001 (Cash Deposit). This operation is the first step of cash deposit sequence. Agilis 3 91x stores
the following state data entries for use during the Cash Verify operation:

 Screen Number
 Consumer Response Time
 Consumer Fault Next State
 Cancel Next State

Agilis 3 91x does not display the screen specified in the Screen Number entry during the Cash
Deposit operation. The operation completes successfully unless a network fault occurs or a
hardware fault exists at the start of the operation.

Normally, a non-pocket style device does not perform any action for this operation. However, if
there is cash or rejected items presented at the start of this operation, and if escrow is empty, the
terminal retracts the cash (or rejects), places the cash (or rejects) in the retract cassette, and
reports a Cash Retracted During Deposit status (CI01:3F:32:31) to the network.

For single-currency terminals, buffer IDs, screen 2, screen 3, and the Retract option do not apply to
this operation. Their respective entries do not need to be included.

For multiple-currency terminals, the currency code buffer (specified by the Currency Code Buffer ID
entry) determines which currency type(s) are allowed for the transaction. If the buffer does not
contain a valid currency code (for a configured currency) or *** , the terminal takes the Network
Fault Next State exit.

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios), the
first Cash Deposit operation determines the currency type(s) for the entire transaction (that is, until
the next Cash Retain, Cash Return, or Cash Clear operation, or the next Close state).

NOTE

For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal takes the Network Fault Next State exit.

For multiple-currency terminals, screen 2, screen 3, and the Retract option do not apply to this
operation, but the entries must be included.

002 (Cash Verify). The shutter opens, and the terminal waits for the consumer to insert the stack of
bills. As soon as the terminal detects the insertion of cash, the inserted cash is drawn into the
device, the cash is verified, counted, and placed in escrow.

At the start of cash insertion, the terminal displays the screen specified in the state data for the
Cash Deposit operation (Screen Number entry). Timeout for cash insertion is controlled by the
Consumer Response Time entry and the Consumer Fault Next State entry from the state data for
the Cash Deposit operation. The Cancel key is enabled (if the Cancel key is pressed, the terminal
goes to the state specified by the Cancel Next State entry from the state data for the Cash Deposit
operation).
NOTE

If the consumer response time specified in the state data for the Cash Deposit operation is
000, the terminal uses timer 904 as the timeout for cash insertion.

If there are rejected items presented at the start of cash insertion, screen 2 displays to prompt the
consumer to remove the rejected items. After the consumer removes the rejected items, the
terminal proceeds with the cash insertion process.

When cash verification begins, the Cancel key is disabled, and the terminal displays the screen
specified in the state data for the Cash Verify operation. The inserted cash is drawn into the device,
verified, counted, and placed in escrow. (If there is already cash in escrow, the newly verified cash
is added to the cash already in escrow.) Cumulative amounts and bill counts for the current
transaction are written to buffers indicated by the buffer ID entries included in the state data (for
details, refer to the description for each buffer ID entry).

If the shutter cannot close at the start of cash verification (for example, due to a jammed shutter),
the terminal takes the Hardware Fault Next State exit and reports a Shutter Not Closed status
(CI01:3C:33:35) to the network.

If the cash stack is too long (preventing the shutter from closing), the terminal makes no attempt
to verify any bills. The stack of bills is returned to the consumer, and screen 3 displays to prompt
the consumer to remove the bills. After the consumer removes the bills, the terminal takes the
appropriate exit (No Media Next State if escrow is empty, otherwise Good Operation Next State).
Timeout for removing the bills is controlled by the Consumer Response Time entry.

If escrow becomes full before all the bills are verified, the excess bills are returned to the
consumer. When the excess bills are presented to the consumer, screen 2 displays to prompt the
consumer to remove the excess bills. After the consumer removes the excess bills, the terminal
takes the Deposit Fault Next State exit. Timeout for removing the excess bills is controlled by the
Consumer Response Time entry.

If any bills or other items are rejected during cash verification, the rejected items are returned to
the consumer after all the cash has been verified. When the rejected items are presented to the
consumer, screen 2 displays to prompt the consumer to remove the rejected items. After the
consumer removes the rejected items, the terminal takes the appropriate exit (Deposit Fault Next
State if escrow is full, No Media Next State if escrow is empty, or Good Operation Next State).
Timeout for removing the rejected items is controlled by the Consumer Response Time entry. If the
rejected items are not removed in the allotted time, the terminal automatically shows the More Time
screen and starts timer 01 (enhanced timer 901). If a timeout occurs, the rejected items remain
presented, and the terminal takes the Consumer Fault Next State exit.

If a blockage in the input area prevents the processing of one or more bills, the unprocessed bills
are returned to the consumer. When the unprocessed bills are presented to the consumer, screen 3
displays to prompt the consumer to remove the unprocessed bills. After the consumer removes the
unprocessed bills, the terminal takes the appropriate exit (Deposit Fault Next State if escrow is full,
No Media Next State if escrow is empty, or Good Operation Next State). Timeout for removing the
blocked bills is controlled by the Consumer Response Time entry.

The Retract option does not apply to this operation, but the entry must be included.

NOTE
The Cash Verify operation must follow a Cash Deposit operation. Also, both operations must
be state-based or both operations must be function-based (Section 3.1.1). Otherwise, an
invalid sequence error is generated, and the terminal takes the Network Fault Next State exit.

003 (Cash Retain). The cash is moved from the escrow area and placed in the appropriate
cassette(s). Cumulative amounts and bill counts for the current transaction are written to buffers
indicated by the buffer ID entries included in the function data (for details, refer to the description for
each buffer ID entry).

The consumer response timeout, screen 2, screen 3, and Retract option do not apply to this
operation, but the entries must be included. The Cancel key is not enabled for this operation.

Cassette counts are updated according to the number and denomination of the notes during this
operation. Some cash-accepting devices re-validate currency at this time. For such devices, cash
moving from escrow to the bins may be skewed, shingled, or stuck together, making them
unverifiable during the retain operation, causing the cassette counts to reflect additional type 1
note(s) and a reduced count of type 4 notes.

NOTE

The Cash Retain operation must follow a Cash Verify operation (from either a state or a
function command). Otherwise, an invalid sequence error is generated, and the terminal
reports a Network Fault status (CI01:3F:40:31).

004 (Cash Return). If there are bills in escrow, the bills are moved to the input area and presented
to the consumer. When the bills are presented, screen 2 displays to prompt the consumer to
remove the bills. After the bills have been removed, the shutter closes. Timeout of this operation is
controlled by the Consumer Response Time entry. If a timeout occurs, the bills remain presented,
and the terminal takes the Consumer Fault Next State exit.

NOTE

The ENA and ECRM cannot return cash to the consumer while there are rejected items
waiting for the consumer to remove them. If there are rejected items already presented at the
start of this operation, then before the cash is returned, screen 2 displays to prompt the
consumer to remove the rejected items. After the rejected items are removed, the terminal
returns the escrowed cash to the consumer.

The Retract option does not apply to this operation, but the entry must be included. Buffer IDs and
screen 3 do not apply to this operation. Their respective entries do not need to be included. The
Cancel key is not enabled for this operation.

005 (Cash Clear). If there are any bills in escrow, on the transport, or presented out the front of the
ENA, the bills are either placed in the retract cassette or placed on the transport behind the shutter,
depending on the setting of the Retract option.

If the shutter is closed at the start of this operation, it remains closed. If the shutter is open, it closes
at the start of the operation, unless there are bills presented out the front of the ENA. If there are
presented bills, the shutter closes after those bills have been placed in the appropriate cassette(s)
or on the transport, as applicable.

When the Retract option is 000 (place bills in the appropriate cassette(s)), any bills in escrow, on
the transport, or presented out the front are placed in the retract cassette.
When the Retract option is 001 (place bills on the transport), the following pre-conditions affect the
behavior of the operation:

 Bills in escrow only - The bills are moved to the transport.


 Bills on the transport only - The bills are not moved.
 Presented bills only - The bills are retracted behind the shutter.
 Bills in escrow and bills on the transport - The bills on the transport are not moved. The bills
in escrow remain in escrow.
 Bills in escrow and presented bills - The presented bills are retracted behind the shutter.
The bills in escrow remain in escrow.

Bills that are placed on the transport are not accessible to the consumer, because the shutter is
closed.

The consumer response time does not apply to this operation, but the entry must be included.
Buffer IDs, screen 2, and screen 3 do not apply to this operation. Their respective entries do not
need to be included. The Cancel key is not enabled for this operation.

006 (Insert Cash and Verify). The Insert Cash and Start Verify operation is the first step of a cash
deposit sequence of a Rapid (Parallel) Processing transaction with the Cash First option. The
shutter opens, and starts monitoring for the insertion of cash. As soon as terminal detects insertion
of cash, the shutter closes. Then, this operation starts the note verification process, and exits with a
Good Operation Next State. The terminal does not wait in this operation for cash verification
process to complete.

If the Cash Deposit (CI 001) operation is used before the Insert Cash and Start Verify operation,
then the Cash Deposit operation is Do Nothing operation and the device does not perform any
action in Cash Deposit operation.

The note verification process and rest of cash verification activities, such as filling buffers and
updating any counts are done in background. Once the cash is verified, it is counted and placed in
the escrow. If there is already cash in the escrow, the newly verified cash is added to the cash
already present in the escrow. Cumulative amounts and bill counts for the current transaction are
written to buffers indicated by the buffer ID entries included in the state data (for details, refer to the
description for each buffer ID entry).

Timeout of this operation is controlled by the Consumer Response Time entry and the Consumer
Fault Next State entry from the state data. Initially, the Cancel key is enabled (if the Cancel key is
pressed, the terminal goes to the state specified by the Cancel Next State entry from the state data)
but when cash verification begins, the Cancel key is disabled and the state exits.

If the shutter cannot open at the start of the operation, the terminal takes the Hardware Fault Next
State exit, and reports a shutter not open status to the network.

If the cash stack is too long (preventing the shutter from closing), the terminal will take the Good
Operation Next State and the stack of bills will remain in the input area. During the following CI007
operation, the notes will be returned to the consumer, and the screen 3 displayed to prompt the
consumer to remove the bills.
If there is cash or rejected items presented at the start of this operation, and if escrow is empty,
the terminal retracts the cash (or rejects), places the cash (or rejects) in the retract cassette, and
reports a Cash Retracted during Deposit status (CI01:3F:32:31) to the network.

If there are items in the consumer interface at the start of this operation, the items are retracted
to the appropriate cassette, and the terminal reports a Cash Retracted during Deposit status to the
network.

For deposit more and add more cash scenarios, this operation can be called again after
Conditional Return Rejected Items using Information Entry State @D. If the user selects Yes, the
state flow would return to the Insert Cash and Start Verify operation to add more cash. If this
operation is called again immediately without calling Conditional Return Rejected Items in between
then an invalid sequence error is generated, and the terminal takes the Network Fault Next State
exit.

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios),
the first Cash Deposit operation determines the currency type(s) for the entire transaction (that is,
until the next Confirm Cash Retained, Cash Return, or Cash Clear operation, or the next Close
state).

NOTE

For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal takes the Network Fault Next State exit. The Retract option does not apply to this
operation, but the entry must be included.

Any other errors or jams that occur during cash verification process are either sent as unsolicited
message, or found on the next operation (Conditional Return Rejected Items).

NOTE

If Insert Cash and Start Verify operation is used out of sequence, that is, if retain operation is
in progress (called immediately after Retain Cash and Don't Wait operation), or used
immediately after CI operation 002, then an invalid sequence error is generated, and the
terminal takes the Network Fault Next State exit.

007 (Conditional Return Rejected Items). The Conditional Return Rejected Items operation
monitors the cash verification process that was started in the Insert Cash and Start Verify operation.
This operation waits for cash verification process to complete, and then returns rejected items if
they are available. The terminal presents any rejected items to the customer and displays a screen
informing the customer to remove the rejected items.

Terminal takes Good Operation Next State if rejected notes are not available, or once they are
removed. Also, terminal takes appropriate actions and exits based on the status of cash verification
process.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

If escrow was filled before all the bills are verified, the shutter opens during this operation and
screen 2 displays to prompt the consumer to remove the excess bills. After the consumer removes
the excess bills during this operation, the shutter closes, and the terminal takes the Deposit Fault
Next State exit. Timeout for removing the excess bills is controlled by the Consumer Response
Time entry.

If any bills or other items are rejected during verification, the rejected items are placed in the
reject area. After all the bills have been verified, and this operation is called, the shutter opens, and
the screen 2 displays to prompt the consumer to remove the rejected items. After the consumer
removes the rejected items, the shutter closes, and the terminal takes the appropriate exit (Deposit
Fault Next State if escrow is full, No Media Next State if escrow is empty, or Good Operation Next
State). Timeout for removing the rejected items is controlled by the Consumer Response Time
entry. If the rejected items are not removed in the allotted time, the terminal automatically shows the
More Time screen and starts timer 01 (enhanced timer 901). If rejected items are not taken even
after the More Time timeout, they are retracted based on the retract option.

If the shutter cannot close after the consumer removes the rejected notes (for example, due to a
blockage), the terminal takes the Hardware Fault Next State exit, and reports a shutter not closed
status to the network.

If a blockage in the input area (for example bills that cannot be picked from the input area)
prevents the processing of one or more bills when this operation is called, the shutter opens and the
screen 3 displays to prompt the consumer to remove the bills. After the consumer removes the bills,
the shutter closes, and the terminal takes the appropriate exit (Deposit Fault Next State if escrow is
full, No Media Next State if escrow is empty, or Good Operation Next State). Timeout for removing
the blocked bills is controlled by the Consumer Response Time entry.

NOTE

The Conditional Return Rejected Items operation must follow an Insert Cash and Start Verify
operation (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal takes the Network Fault Next State exit.

008 (Retain Cash and Don't Wait). The Retain Cash and Don't Wait operation begins performing
the cash retain operation and then immediately exits with a Good Operation Next State.

This operation also writes the cumulative amounts and bill counts for the current transaction to
buffers indicated by the buffer ID entries included in the state data. The consumer response
timeout, screen 2, screen 3, and the Retract option do not apply to this operation, but the entries
must be included. The Cancel key is not enabled for this operation.

Any errors or jams that occur are either sent as unsolicited message, or found on the next operation
(Confirm Cash Retained).

NOTE

The Retain Cash and Don't Wait operation must follow a Conditional Return Rejected Items
operations (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal takes the Network Fault Next State exit.

009 (Confirm Cash Retained). The Confirm Cash Retained operation checks for the completion of
cash retaining process that was started in Retain Cash and Don't Wait operation. If the cash
retaining process is over, this operation takes Good Operation Next State. Otherwise state waits in
this operation for cash retaining to complete before proceeding.
Confirm Cash Retained operation is needed to ensure that terminal waits for the completion of cash
retaining process, started in the Retain Cash and Don't Wait operation, before closing the
transaction. Based on the status of cash retain activity, terminal takes appropriate actions, and the
state exits. The consumer response timeout, screen 2, screen 3, and the Retract option do not
apply to this operation, but the entries must be included. The Cancel key is not enabled for this
operation.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

NOTE

The Confirm Cash Retained operation must follow a Retain Cash and Don't Wait operation
(from either a state or a function command). Otherwise, an invalid sequence error is
generated, and the terminal takes the Network Fault Next State exit.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen the terminal shows on
the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to insert or remove bills, as applicable. If the time expires before the
consumer inserts or removes the bills, the terminal takes the Consumer Fault Next State exit. The
valid values for this entry are as follows:
 000 - Take the Good Operation Next State exit immediately
 001 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait forever (no beeping)

When timer 904 is used, if the time expires before the consumer responds, the terminal shows the
More Time screen and starts timer 01 (enhanced timer 901). If timer 01 then expires, the terminal
takes the Consumer Fault Next State exit.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the specified operation is successful.

Consumer Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Consumer Fault Next State entry identifies the exit state the terminal goes to if
the consumer fails to insert or remove bills (as applicable) within the time allowed by the Consumer
Response Time entry.
Hardware Fault Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

This entry is also used if Agilis 3 91x fails to obtain a backtracing signature for a counterfeit or
suspect bill detected during the Cash Verify operation. This problem can occur if backtracing is
enabled (ACU) but the currency acceptor does not support signature creation for one or more of the
configured currencies. In this case, the terminal reports a Signature Storage Fault status
(CI01:3A:56:00).

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Cancel Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Cancel Next State entry identifies the exit state the terminal goes to when the
consumer cancels the operation by using the Cancel key.

NOTE

To avoid potential state flow problems, never program the Cancel Next State entry to specify
a Currency Acceptor state for a Cash Verify operation.

Deposit Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Deposit Fault Next State entry identifies the exit state the terminal goes to when
the escrow area becomes full before all of the bills are verified. This entry applies only to the Cash
Verify operation.

No Media Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The No Media Next State entry identifies the exit state the terminal goes to when a
Cash Verify operation completes with no bills being present in escrow, due to all bills being rejected
or due to a problem in the input area (empty, blockage, or too many bills).

Retract Option
Valid Range: 000 through 001
Description: The Retract option specifies what to do with the consumer's cash during a Cash Clear
operation. The valid values are as follows:
 000 - The cash is to be placed in the appropriate cassette(s).
 001 - The cash is to be placed in the input area.

NOTE

At present, the Bulk Cash Recycler or Enhanced Cash Recycler Module do not support
placing the cash in the input area for a Cash Clear operation. If a BCR or ECRM is
commanded to perform this action, the device rejects the command. The terminal then
reports a Command Reject error (CI01:30:35:30) to the network and takes the Network Fault
Next State exit.

Screen 2
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen 2 entry specifies the number of the screen that appears on the consumer
display when the currency acceptor has returned bills to the input area for one of the following
reasons:
 The escrow area became full before or during a Cash Verify operation.
 Escrow cash is being returned during a Cash Return operation.
 Items were rejected and are being returned during a Cash Verify operation.

Screen 2 should prompt the consumer to immediately collect any returned bills while the shutter is
open. The valid values for this entry are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Screen 3
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen 3 entry specifies the number of the screen that appears on the consumer
display when any one of the following circumstances exist during a Cash Verify operation:
 There are too many bills in the input area at the start of the operation.
 There is a blockage in the input area that prevents the currency acceptor from verifying the
bills.

Screen 3 should inform the consumer that an error occurred, and prompt the consumer to remove
the bills. The valid values for this entry are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Amount Buffer ID
Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353

Description: The Amount Buffer ID entry indicates the buffer(s) where the cumulative transaction
amount(s) are to be written during a Cash Verify operation or a Cash Retain operation. For single-
currency terminals, this entry is optional (however, if subsequent entries are included in the state
data, this entry must be present). For multiple-currency terminals, this entry is required.

The Amount Buffer ID entry points either to an amount buffer (if a single currency is allowed) or to a
buffer list that specifies multiple amount buffers (if all currencies are allowed). (For an explanation of
how the terminal determines which currencies are allowed for a transaction, refer to the description
of the Currency Code Buffer ID entry.)
Single currency allowed. If a single currency is allowed for the transaction, the Amount Buffer ID
entry must contain a single valid buffer number or 000. If a valid buffer number is specified, the
cumulative transaction amount is written to the specified buffer. If 000 is specified for the buffer ID,
the cumulative transaction amount is not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Amount
Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a valid
buffer number or 000 for each currency that the currency acceptor is capable of recognizing.
The buffers correspond, in order, to the currencies listed in the Hardware Configuration status data
for the currency acceptor. The buffer numbers must be separated by spaces (for example, 256 b
257 b 258 b 000). The cumulative transaction amount for each currency is written to the
corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the cumulative
transaction amount for the corresponding currency is not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative transaction amounts. The cumulative transaction amount for a currency includes the
total value of genuine (category 4) bills of that currency that were verified or retained during the
transaction. If the Suspect Counterfeit Note Identification option (ACU) is set to Regular, the amount
also includes the amount of suspect (category 3) bills of that currency (if any suspect bills are
detected). If the option is set to Counterfeit, the amount does not include the suspect bills.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Currency Code Buffer ID


Valid Range: 000 (single-currency terminals only), 065 through 090, 256 through 309, 326 through
341, and 346 through 353

Description: The Currency Code Buffer ID entry specifies the buffer that indicates the currency or
currencies used for the current transaction. The currency codes are three-character ISO 4217
currency codes (for example, 'USD' for U.S. dollars).

Single-currency terminals. A single-currency terminal is a terminal that has only a single


configured currency. For single-currency terminals, the Currency Code Buffer ID entry is optional.
(However, if subsequent entries are included in the state data, the Currency Code Buffer ID entry
must be present.) During Cash Verify operations and Cash Retain operations, Agilis 3 91x writes
the corresponding currency code to the specified buffer. If the value in the Currency Code Buffer ID
entry is 000, the currency code is not written to a buffer.

Multiple-currency terminals. A multiple-currency terminal is a terminal that has more than one
configured currency. During Cash Deposit operations, Agilis 3 91x reads the currency code buffer to
determine which currency or currencies to allow for the current transaction. The network
programmer is responsible for ensuring that the correct currency code (or *** ) is written to the
buffer before starting the Cash Deposit operation. The currency code must represent a currency
type that the currency acceptor is capable of recognizing and the terminal is configured to accept.
Otherwise, a network fault is generated.
To allow a single currency for a transaction, the buffer specified for the Cash Deposit operation
must contain one (and only one) currency code. During Cash Verify operations and Cash Retain
operations, Agilis 3 91x writes the corresponding currency code to the buffer specified for the Cash
Verify or Cash Retain operation (as applicable).

To allow all configured currencies for a transaction, the buffer specified for the Cash Deposit
operation must contain *** (three asterisks). This specification directs the terminal to accept all
configured currencies in a single transaction, including stacks containing a mixture of currencies.
During Cash Verify operations and Cash Retain operations, if any valid bills have been verified,
Agilis 3 91x writes a list of currencies to the buffer specified for the Cash Verify or Cash Retain
operation (as applicable). The list of currencies includes all currencies that the currency acceptor is
capable of recognizing, whether configured or not. The currencies are listed in the same order as in
the Hardware Configuration status data for the currency acceptor (alphabetical order), and are
separated by spaces (for example, CAD b EUR b USD). If no valid bills have been verified (for
example, if all the inserted items are rejected), Agilis 3 91x writes 23 space characters to the buffer.

NOTE

It is recommended that separate currency code buffers be used for the Cash Deposit
operation versus the Cash Verify and Cash Retain operations. If a single buffer is used for all
operations, undesirable consequences can result in some cases from Agilis 3 91x
overwriting the buffer contents during add-to-deposit scenarios or error recovery.

NOTE

The following entry (Count Buffer ID) is optional. If an institution does not require the bill
counts (and if subsequent entries are not included in the state data), the network
programmer does not need to include this entry in the state data.

Count Buffer ID
Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353

Description: The Count Buffer ID entry indicates the buffer(s) where the cumulative bill counts are
to be written during a Cash Verify operation or a Cash Retain operation. This entry points either to a
count buffer (if a single currency is allowed) or to a buffer list that specifies multiple count buffers (if
all currencies are allowed). (For an explanation of how the terminal determines which currencies are
allowed for a transaction, refer to the description of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Count Buffer ID
entry must contain a single valid buffer number or 000. If a valid buffer number is specified, the
cumulative bill counts are written to the specified buffer. If 000 is specified for the buffer ID, the
cumulative bill counts are not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Count
Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a valid
buffer number or 000 for each currency that the currency acceptor is capable of recognizing.
The buffers correspond, in order, to the currencies listed in the Hardware Configuration status data
for the currency acceptor. The buffer numbers must be separated by spaces (for example, 256 b
257 b 258 b 000). The cumulative bill counts for each currency are written to the corresponding
buffer. If 000 is specified for one of the buffers in the buffer list, the cumulative bill counts for the
corresponding currency are not written to a buffer.
The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative bill counts. A separate bill count is maintained for each denomination of a currency.
The cumulative bill count for a denomination includes the count of genuine (category 4) bills of that
denomination that were verified or retained during the transaction. If the Suspect Counterfeit Note
Identification option (ACU) is set to Regular, each bill count also includes the count of suspect
(category 3) bills of that denomination (if any suspect bills are detected). If the option is set to
Counterfeit, the bill count does not include the suspect bills.

Count buffer format (single currency allowed). Each count buffer stores the bill counts for all the
configured denominations of a given currency. Each count buffer is 44 bytes in length and stores up
to ten distinct 3-byte bill counts (one bill count for each denomination), with all remaining bytes set
to zero. The bill counts are stored in the buffer in descending order from the highest-value
denomination to the lowest-value denomination. Refer to the example for clarification.

If the cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

EXAMPLE

Suppose the terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-dollar
denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar bills,
and one 50-dollar bill. At the end of the Cash Verify operation, the specified count buffer contains
the following information:

00100200000400000000000000000000000000000000

Where (from left to right):

 001 is the bill count for the 50-dollar denomination


 002 is the bill count for the 20-dollar denomination
 000 is the bill count for the 10-dollar denomination
 004 is the bill count for the 5-dollar denomination

All remaining bytes are set to zero.

Count buffer format (all currencies allowed). Each count buffer stores the bill counts for a given
currency. The bill count data written to each count buffer has the following format:

DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN ...

Each DDDDDDDDDD is a 10-digit number representing one of the configured denominations for
the currency. The last two or three digits of the denomination represent the decimal amount (based
on Write Command 3 message configuration). Each NNN is the three-digit bill count for the
preceding denomination (DDDDDDDDDD). Only denominations with a non-zero cumulative bill
count are included in the bill count data.
If the bill counts for a given currency are zero for all denominations, the corresponding count buffer
is empty (zero length).

If 000 is specified for a buffer ID, the bill counts for the corresponding currency are not written to a
buffer.

EXAMPLE

Suppose that all currencies are allowed for a transaction, and that one of the configured currencies
is U.S. dollars. The terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-
dollar denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar
bills, and one 50-dollar bill. At the end of the Cash Verify operation, the count buffer for the U.S.
currency contains the following information:

0000005000
b 001
b 0000002000
b 002
b 0000000500
b 004

Where (from left to right):

 0000005000 represents the 50-dollar denomination


 001 is the bill count for the 50-dollar denomination
 0000002000 represents the 20-dollar denomination
 002 is the bill count for the 20-dollar denomination
 0000000500 represents the 5-dollar denomination
 004 is the bill count for the 5-dollar denomination

The 10-dollar denomination is not represented in the bill count data because the cumulative bill
count for that denomination is zero.

NOTE

The following optional entries can be included in the state data. If an institution does not
require this data, the network programmer does not need to include these entries in the state
data.

Currency Code Buffer ID 2


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: During Cash Verify and Cash Retain operations, Agilis 3 91x writes the currency
code(s) for the transaction to the specified buffer. The data written to this buffer is the same as the
data in the buffer specified by the Currency Code Buffer ID entry, described previously.

If the value in this entry is 000, the currency code data is not written to a buffer.

NOTE
If fraudulent note detection is disabled, the terminal ignores the following four entries
(Counterfeit Amount Buffer ID, Counterfeit Count Buffer ID, Suspect Amount Buffer ID, and
Suspect Count Buffer ID).

Counterfeit Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Counterfeit Amount Buffer ID entry indicates the buffer(s) where the cumulative
counterfeit amount(s) are to be written during a Cash Verify operation or a Cash Retain operation (if
any counterfeit bills are detected). This entry points either to an amount buffer (if a single currency
is allowed) or to a buffer list that specifies multiple amount buffers (if all currencies are allowed).
(For an explanation of how the terminal determines which currencies are allowed for a transaction,
refer to the description of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Counterfeit Amount
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative counterfeit amount is written to the specified buffer. If 000 is specified for
the buffer ID, the cumulative counterfeit amount is not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Counterfeit
Amount Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative counterfeit amount for each currency
is written to the corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the
cumulative counterfeit amount for the corresponding currency is not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative counterfeit amounts. The cumulative counterfeit amount for a currency is the total
amount of counterfeit (category 2) bills of that currency that were verified or retained during the
transaction.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Counterfeit Count Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Counterfeit Count Buffer ID entry indicates the buffer(s) where the cumulative
counterfeit bill counts are to be written during a Cash Verify operation or a Cash Retain operation (if
any counterfeit bills are detected). This entry points either to a count buffer (if a single currency is
allowed) or to a buffer list that specifies multiple count buffers (if all currencies are allowed). (For an
explanation of how the terminal determines which currencies are allowed for a transaction, refer to
the description of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Counterfeit Count
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative counterfeit bill counts are written to the specified buffer. If 000 is specified
for the buffer ID, the cumulative counterfeit bill counts are not written to a buffer.
All currencies allowed. If all configured currencies are allowed for the transaction, the Counterfeit
Count Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative counterfeit bill counts for each
currency are written to the corresponding buffer. If 000 is specified for one of the buffers in the
buffer list, the cumulative counterfeit bill counts for the corresponding currency are not written to a
buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative counterfeit bill counts. A separate counterfeit bill count is maintained for each
denomination of a currency. The cumulative counterfeit bill count for a denomination is the count of
counterfeit (category 2) bills of that denomination that were verified or retained during the
transaction.

Count buffer format (single currency allowed). Each count buffer stores the counterfeit bill
counts for all the configured denominations of a given currency. Each count buffer is 44 bytes in
length and stores up to ten distinct 3-byte bill counts (one bill count for each denomination), with all
remaining bytes set to zero. The bill counts are stored in the buffer in descending order from the
highest-value denomination to the lowest-value denomination.

If the cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

For an example of this buffer format, refer to the paragraphs labeled Count buffer format (single
currency allowed) in the description of the Count Buffer ID entry.

Count buffer format (all currencies allowed). Each count buffer stores the counterfeit bill counts
for a given currency. The bill count data written to each count buffer has the following format:

DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN ...

Each DDDDDDDDDD is a 10-digit number representing one of the configured denominations for
the currency. Each NNN is the three-digit bill count for the preceding denomination
(DDDDDDDDDD). Only denominations with a non-zero cumulative counterfeit bill count are
included in the bill count data.

For additional details and an example of this buffer format, refer to the paragraphs labeled Count
buffer format (all currencies allowed) in the description of the Count Buffer ID entry.

Suspect Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Suspect Amount Buffer ID entry indicates the buffer(s) where the cumulative
suspect amount(s) are to be written during a Cash Verify operation or a Cash Retain operation (if
any suspect bills are detected). This entry points either to an amount buffer (if a single currency is
allowed) or to a buffer list that specifies multiple amount buffers (if all currencies are allowed). (For
an explanation of how the terminal determines which currencies are allowed for a transaction, refer
to the description of the Currency Code Buffer ID entry.)

NOTE

The cumulative suspect amount written to one of these buffers is the total value of suspect
(category 3) bills for that currency, regardless of the setting of the Suspect Counterfeit Note
Identification option (ACU).

Single currency allowed. If a single currency is allowed for the transaction, the Suspect Amount
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative suspect amount is written to the specified buffer. If 000 is specified for the
buffer ID, the cumulative suspect amount is not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Suspect
Amount Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative suspect amount for each currency is
written to the corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the
cumulative suspect amount for the corresponding currency is not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative suspect amounts. The cumulative suspect amount for a currency is the total amount
of suspect (category 3) bills of that currency that were verified or retained during the transaction.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Suspect Count Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Suspect Count Buffer ID entry indicates the buffer(s) where the cumulative
suspect bill counts are to be written during a Cash Verify operation or a Cash Retain operation (if
any suspect bills are detected). This entry points either to a count buffer (if a single currency is
allowed) or to a buffer list that specifies multiple count buffers (if all currencies are allowed). (For an
explanation of how the terminal determines which currencies are allowed for a transaction, refer to
the description of the Currency Code Buffer ID entry.)

NOTE

The cumulative suspect count written to one of these buffers is the total count of suspect
(category 3) bills for that currency, regardless of the setting of the Suspect Counterfeit Note
Identification option (ACU).

Single currency allowed. If a single currency is allowed for the transaction, the Suspect Count
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative suspect bill counts are written to the specified buffer. If 000 is specified for
the buffer ID, the cumulative suspect bill counts are not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Suspect
Count Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative suspect bill counts for each currency
are written to the corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the
cumulative suspect bill counts for the corresponding currency are not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative suspect bill counts. A separate suspect bill count is maintained for each
denomination of a currency. The cumulative suspect bill count for a denomination is the count of
suspect (category 3) bills of that denomination that were verified or retained during the transaction.

Count buffer format (single currency allowed). Each count buffer stores the suspect bill counts
for all the configured denominations of a given currency. Each count buffer is 44 bytes in length and
stores up to ten distinct 3-byte bill counts (one bill count for each denomination), with all remaining
bytes set to zero. The bill counts are stored in the buffer in descending order from the highest-value
denomination to the lowest-value denomination.

If the cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

For an example of this buffer format, refer to the paragraphs labeled Count buffer format (single
currency allowed) in the description of the Count Buffer ID entry.

Count buffer format (all currencies allowed). Each count buffer stores the suspect bill counts for
a given currency. The bill count data written to each count buffer has the following format:

DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN ...

Each DDDDDDDDDD is a 10-digit number representing one of the configured denominations for
the currency. Each NNN is the three-digit bill count for the preceding denomination
(DDDDDDDDDD). Only denominations with a non-zero cumulative suspect bill count are included in
the bill count data.

For additional details and an example of this buffer format, refer to the paragraphs labeled Count
buffer format (all currencies allowed) in the description of the Count Buffer ID entry.

Reserved
Valid Range: 000
Description: This entry is reserved.
Additional Denomination Data
When all of the following conditions are met during a transaction, Agilis 3 91x automatically stores
additional denomination data in certain buffers:
 A single currency is allowed for the transaction.
 The Currency Code Buffer ID entry is present in the state data, and the value in the entry is
non-zero.
 The Count Buffer ID entry is present in the state data, and the value in the entry is non-
zero.

When these conditions are met, up to ten pairs of Agilis 3 91x buffers (twenty buffers in total) are
filled with cumulative denomination and count data during Cash Verify operations and Cash Retain
operations. Buffers 310 through 325, and 342 through 345 are reserved for these purposes. Each
pair contains (1) the bill denomination and (2) the number of bills of that denomination in the current
transaction. The bill denomination buffer is 8 bytes in length and the bill count buffer is 3 bytes in
length.

The reserved buffer pairs are designated as follows:

 310, 311: Denomination 1 value and count


 312, 313: Denomination 2 value and count
 314, 315: Denomination 3 value and count
 316, 317: Denomination 4 value and count
 318, 319: Denomination 5 value and count
 320, 321: Denomination 6 value and count
 322, 323: Denomination 7 value and count
 324, 325: Denomination 8 value and count
 342, 343: Denomination 9 value and count
 344, 345: Denomination 10 value and count

The denominations in the buffers are saved in order from the lowest value configured denomination
(in buffer 310) to the highest value configured denomination. If a denomination is not configured in
ACU or by a Write Command 20 message, that denomination does not appear in a buffer pair.

NOTE

The reserved buffers 310 through 325 and 342 through 345 do not contain valid data unless
all the conditions in the preceding list are met.

Buffers 310 through 325 and 342 through 345 are cleared at the start of each cash deposit
transaction and during Close state processing (J states and @Z states). The buffers are cleared by
filling them with zero characters.

EXAMPLE

Suppose the terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-dollar
denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar bills,
and one 50-dollar bill. After a Cash Verify operation or Cash Retain operation processes this stack,
the reserved buffer pairs contain the following information:

 Buffer 310 = 00000005 (denomination 1 = $5)


 Buffer 311 = 004 (4 x $5)
 Buffer 312 = 00000010 (denomination 2 = $10)
 Buffer 313 = 000 (0 x $10)
 Buffer 314 = 00000020 (denomination 3 = $20)
 Buffer 315 = 002 (2 x $20)
 Buffer 316 = 00000050 (denomination 4 = $50)
 Buffer 317 = 001 (1 x $50)

Since only four denominations have been configured, only four reserved buffer pairs contain valid
data.

Buffer Pair for Counterfeit Amount and Count


When all of the following conditions are met during a transaction, Agilis 3 91x automatically stores
additional information about counterfeit bills in certain buffers:
 Fraudulent note detection is enabled.
 A single currency is allowed for the transaction.
 The Currency Code Buffer ID entry is present in the state data, and the value in the entry is
non-zero.
 The Count Buffer ID entry is present in the state data, and the value in the entry is non-
zero.

When these conditions are met, an additional pair of buffers (354 and 355) is filled with information
about counterfeit bills detected during the transaction. Agilis 3 91x writes the cumulative amount
and bill count to these buffers during Cash Verify operations and Cash Retain operations.

Buffer 354 contains the total amount of the counterfeit bills. The amount is eight bytes in length. For
example, for an amount of $1000 in counterfeit U.S. currency, the buffer would contain 00001000.

Buffer 355 contains the count of the counterfeit bills. The count is three bytes in length. For
example, if two counterfeit bills were detected, the buffer would contain 002.

Buffers 354 and 355 are cleared at the start of each cash deposit transaction and during Close
state processing (J states and @Z states). The buffers are cleared by filling them with zero
characters.

Example Transaction Flow for Cash Deposits


Figure 5-1 is an example of a basic transaction flow for a cash deposit transaction. This example
uses a Bulk Cash Recycler (BCR) to perform the cash deposit transaction.

Figure 5-1 Example Transaction Flow for Cash Deposits


In this example, the consumer has already successfully begun a session on the terminal (for
example, the consumer has inserted their card and entered their PIN), and has selected a cash
deposit transaction from the list of services offered by the terminal.

The transaction begins with a Currency Acceptor state (CI state), Cash Deposit operation. The
BCR's shutter opens, and the consumer inserts a stack of bills. When the BCR detects bills in the
input area, this operation is complete.
The Select Function state (E state) displays a "Press key when ready" screen and waits for the
consumer to press the key. This step allows the consumer an opportunity to finish inserting all of
their bills and to remove their hands from the input area before the BCR's shutter closes. When
ready, the consumer presses the key, and the transaction proceeds.

The next step is a Currency Acceptor state, Cash Verify operation. The BCR closes the shutter and
verifies the bills in the input area, placing the bills in the escrow area. The cash amount is written to
the buffer specified by the Amount Buffer ID entry. Depending on state data, other buffers might be
filled with the currency code and detailed denomination counts.

After the cash is verified, a Select Function state (E state) asks the consumer to confirm that the
cash amount verified by the terminal is correct. The screen for this state uses the ESC V screen
control sequence to display the cash amount stored during the Cash Verify operation. Depending
on which other buffers were filled, detailed denomination counts might also be displayed using ESC
B screen control sequences.

NOTE

If an institution desires to allow a consumer to insert additional bill stacks during the
transaction (add-to-deposit scenario), this Select Function state and its associated screen
could be programmed to include an Add To Deposit selection that directs the transaction
flow back to the Currency Acceptor state, Cash Deposit operation at the top of the flow
diagram.

If the consumer indicates that the verified cash amount is correct, then a Transaction Request state
(I state) sends a Consumer Request message to the network to request authorization for the cash
deposit transaction.

In response, the network sends a Function Command message with a Currency Acceptor function
command, Cash Retain operation (Section 3.1.1). The BCR then places the bills in the appropriate
deposit cassette(s).

At this point, the cash deposit transaction is complete. Depending on an institution's procedures, the
consumer can be offered another transaction or the state flow can be directed toward ending the
consumer session.

For additional examples of transaction flows, refer to Appendix C.

5.5.4 Currency Acceptor State (CIb) for Single Note Acceptor (SNA)

The Currency Acceptor state directs the terminal to perform specific cash deposit operations. The
format of the Currency Acceptor state entries is shown in Table 5-33. The Operation entry in the
state data determines the operation that the terminal performs.

The state data can designate several buffers for storing the results of cash deposit transactions.
The following results can be stored:

 The total value of the deposited cash


 A currency code that identifies the currency type used in the transaction
 The individual denomination counts for the deposited cash
 If fraudulent note detection is enabled, amounts and denomination counts for counterfeit
and suspect notes detected during processing.

These buffers can be used to provide detailed transaction information to the network, and for
displaying deposit information to the consumer during the transaction.

For more information on these buffers, refer to the detailed buffer descriptions in Table 5-33.

Table 5-33 Currency Acceptor State Format


Entry Valid Range
State Number Valid state numbers
State Type CI b
Unit Number 001
Operation 001 - 003
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Cancel Next State Valid state numbers
Deposit Fault Next State Valid state numbers
No Media Next State Not Used
Retract Option 000
Screen Number 2 Valid screen numbers
Screen Number 3 Not Used
Total Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
Currency Code Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
Currency Code Buffer ID 2 000
Counterfeit Amount Buffer ID 000
Counterfeit Count Buffer ID 000
Suspect Amount Buffer ID 000
Suspect Count Buffer ID 000
Done Function Key ID 065 - 073 (‘A' through' I')
Last Bill Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
Amount Deposit Limit Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[1]
Reserved 000
[1]
These entries are optional.

The following paragraphs describe each entry in the Currency Acceptor state table.
NOTE

In the following descriptions, configured currencies or denominations are those currencies


or denominations that the terminal is configured to accept (based on ACU or Write
Command 20 message configuration).

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: CI b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Unit Number
Valid Range: 001
Description: The unit number for the Currency Acceptor state must be 001.

Operation
Valid Range: 001 - 003
Description: The Operation entry tells the terminal which operation to perform during the state.

The following paragraphs describe the operations that are valid for the Currency Acceptor state.

001 (Cash Deposit Start). The SNA does not perform any action for this operation, and the terminal
immediately takes Good Next State. This operation is not mandatory but provided for backward
compatibility.

002 (Insert, Verify and Retain Cash). This is the only operation used by SNA device. This operation
allows the consumer to insert one bill at a time. Each bill is verified after it is inserted, and once the
bill is verified, it is immediately retained in the cashbox as SNA does not have escrow. If the bill is
not verified, it is returned to the consumer. After each bill is retained to the cashbox, the Total
Amount, the Bill Amount, and the Denomination Count buffers are updated with new amount and
count data.

If the Currency Code Buffer ID entry is included in the state data, the currency code is written to the
specified buffer.

This operation is divided into two phases.

Phase 1 displays Screen Number 1 which prompts the consumer to insert the first bill. The Total
Amount, the Bill Amount, and the Denomination Count buffers are initialized to zero. During phase
1, the Cancel key is enabled. If the consumer presses the Cancel key before any bills are inserted,
the terminal takes Cancel Next State. If a bill is not inserted within the Consumer Response time the
application takes consumer fault next state.

NOTE
It is recommended that the Consumer fault next state to be set as Time Delay state (@S) to
give an indication of time out to the customer.

If an inserted bill cannot be verified, it is immediately returned to the consumer. The consumer must
take the returned bill, and insert another bill before the Consumer Response Timer expires. If the
consumer takes the presented bill, and inserts another bill before the Consumer Response Timer
expires, then screen 2 displays, and phase 2 begins. If the consumer does not take the bill before
the Consumer Response Timer expires, the application takes consumer fault next state.

Phase 2 begins when at least one bill is deposited.

If the returned bill is never taken, it is left hanging in the front of the Single Note Acceptor. In this
case, the SNA remains operational and a new consumer can proceed ahead with the transactions
once the consumer removes the hanging bill.

If the bill jams in the Single Note Acceptor, then a Hardware Error (:3A:39:39) unsolicited status is
sent to the network, and the terminal takes Hardware Fault Next State.

Phase 2 begins when at least one bill is inserted and retained to the Cashbox during phase 1. In
phase 2 the Cancel Key is disabled and the transaction cannot be cancelled as there is already one
bill inserted and retained in the cassette, and Single Note Acceptor cannot return that bill back.
During phase 2, Screen 2 is displayed, and prompts the consumer to insert the next bill, or press
Done once finished. This screen displays last deposited bill amount, total amount and denomination
count buffer data. During this phase the function key corresponding to Done Key is enabled. When
the consumer presses Done key, the Single Note Acceptor no longer accepts any bill, and the
terminal will take Good Next State.

Phase 2 terminates either when consumer presses Done Key or when pre-configured amount is
reached or exceeded.

If a bill is not inserted during phase 2 before the Consumer Response Timer expires, the terminal
takes Good Next State.

If the Consumer response time is set as enhanced timer 904, a "Do you want more time" screen is
displayed and starts timer 01 (enhanced timer 901). If timer 01 expires, then the terminal takes the
Consumer Fault Next State exit (phase 1) or Good Next State exit (Phase 2).

If an inserted bill cannot be verified, it is immediately returned to the consumer. If the consumer
takes the presented bill before the Consumer Response Timer expires, then screen 2 is displayed
again.

If the consumer does not take the presented bill before the Consumer Response Timer expires, the
bill is left hanging in the front of the Single Note Acceptor, and the terminal takes Good Next State
and remains operational for further transactions.

If during an operation 002, if a bill jams the Single Note Acceptor, the terminal takes Hardware Fault
Next State, and sends a Hardware Error (:3A:39:39) unsolicited status to network.

If the threshold level set for cashbox is reached during phase 2, and there are no other errors, the
terminal sends Deposit Cassette Almost Full unsolicited status (:3D:26:01) to the network.

If the cashbox is full during phase 2, and there are no other errors, the terminal sends the Deposit
Cassette Full unsolicited status (:3D:37:01) to the network.
003 (Cash retain). This operation does nothing for SNA. On performing this operation the terminal
immediately takes Good Next State. This operation is not mandatory but provided for backward
compatibility.

Screen Number 1
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number 1 entry specifies the number of the screen the terminal shows on
the consumer display when the terminal enters phase 1. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 001 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to insert or remove bills, as applicable.

If the time expires before the consumer inserts or removes the rejected bills in phase 1 of CI 002,
the terminal takes the Consumer Fault Next State exit.

If the time expires before the consumer inserts or removes the rejected bills in phase 2 of CI 002,
the terminal takes Good Next State exit as one bill is already inserted.

The valid values for this entry are as follows:

 001 through 255 - Number of ticks (no beeping)


 900 through 931 - Configured timers 900 through 931
 999 - Wait forever (no beeping)

When timer 904 is used in state and the time expires before the consumer responds, the terminal
shows the" Do you want more time" screen and starts timer 01 (enhanced timer 901). If timer 01
expires, then the terminal takes the Consumer Fault Next State exit (phase 1) or Good Next State
exit (Phase 2).

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the specified operation is successful.

Consumer Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Consumer Fault Next State entry identifies the exit state the terminal goes to if
the consumer fails to insert or remove bills (as applicable) within the time allowed by the Consumer
Response Time entry. In case of SNA, this state is taken only during phase 1. If the timer expires in
phase 2, the terminal takes good operation next state.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Cancel Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Cancel Next State entry identifies the exit state the terminal goes to when the
consumer cancels the operation by using the Cancel key.

NOTE

To avoid potential state flow problems, never program the Cancel Next State entry to specify
a Currency Acceptor state for a Cash Verify operation.

Deposit Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Deposit Fault Next State entry identifies the exit state the terminal goes to when
the escrow area becomes full before all of the bills are verified. This entry applies only to the Cash
Verify operation.

No Media Next State


Not Used

Screen Number 2
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen 2 entry specifies the number of the screen that appears on the consumer
display during phase 2, that is, when the Single Note Acceptor has retained at least one bill to the
cashbox during an operation 002. Screen 2 should have a Done function key.

Screen 2 prompts the consumer to insert another bill, and press Done after finishing the activity.

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Screen 3
Not Used

Total Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353

Description: The Amount Buffer ID entry indicates the buffer(s) where the cumulative transaction
amount(s) are to be written during an Insert, Verify and Retain Cash operation. For single-currency
terminals, this entry can be 000. For multiple-currency terminals, this entry is required. The Amount
Buffer ID entry points to an amount buffer.
Since SNA allows single currency transaction, the Amount Buffer ID entry must contain a single
valid buffer number or 000. If a valid buffer number is specified, the cumulative transaction amount
is written to the specified buffer. If 000 is specified for the buffer ID, the cumulative transaction
amount is not written to a buffer.

Cumulative transaction amounts. The cumulative transaction amount for a currency includes the
total value of genuine (category 4) bills of that currency that were verified or retained during the
transaction.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Currency Code Buffer ID


Valid Range: 000 (single-currency terminals only), 065 through 090, 256 through 309, 326 through
341, and 346 through 353

Description: The Currency Code Buffer ID entry specifies the buffer that indicates the currency
used for the current transaction. The currency code is three-character ISO 4217 currency codes (for
example, 'USD' for U.S. dollars).

Since SNA allows single currency transaction, the Currency Code Buffer ID entry can be 000.
However, if subsequent entries are included in the state data, the Currency Code Buffer ID entry
must be present. During Insert, Verify and Retain Cash operation, if any valid bills have been
verified, Agilis 3 91x writes the corresponding currency code to the specified buffer. If no valid bills
have been verified (for example, if all the inserted items are rejected), Agilis 3 91x writes three
space characters to the buffer. If the value in the Currency Code Buffer ID entry is 000, the currency
code is not written to a buffer.

Count Buffer ID
Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353

Description: The Count Buffer ID entry indicates the buffer(s) where the cumulative bill counts are
to be written during a Cash Deposit operation. This entry points to a count buffer.

Since SNA allows single currency transaction , the Count Buffer ID entry must contain a single valid
buffer number or 000. If a valid buffer number is specified, the cumulative bill counts are written to
the specified buffer. If 000 is specified for the buffer ID, the cumulative bill counts are not written to
a buffer.

Cumulative bill counts. A separate bill count is maintained for each denomination of a currency.
The cumulative bill count for a denomination includes the count of genuine (category 4) bills of that
denomination that were verified or retained during the transaction.

Count buffer format (single currency allowed). Each count buffer stores the bill counts for all the
configured denominations of a given currency. Each count buffer is 44 bytes in length and stores up
to ten distinct 3-byte bill counts (one bill count for each denomination), with all remaining bytes set
to zero. The bill counts are stored in the buffer in descending order from the highest-value
denomination to the lowest-value denomination. Refer to the example for clarification. If the
cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

EXAMPLE

Suppose the terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-dollar
denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar bills,
and one 50-dollar bill. At the end of the operation, the specified count buffer contains the following
information:

00100200000400000000000000000000000000000000

Where (from left to right):

 001 is the bill count for the 50-dollar denomination


 002 is the bill count for the 20-dollar denomination
 000 is the bill count for the 10-dollar denomination
 004 is the bill count for the 5-dollar denomination

All remaining bytes are set to zero.

Currency Code Buffer ID 2


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields.

Counterfeit Amount Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect counterfeit-
notes.

Counterfeit Count Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect counterfeit-
notes.

Suspect Amount Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect of suspect-
notes.

Suspect Count Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect of suspect-
notes.

Done Function key ID


Valid Range: 065 through 073 (A through I)
Description: The Done Function Key ID contains the ASCII code of the function key that terminates
the phase 2 of operation 002.

Last Bill Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341 and 346 through 353
Description: The Last Bill Amount Buffer ID entry identifies the buffer where the value of the last
bill retained is to be placed during an operation 002. The amount is twelve digits in length, unless
the specified buffer is Dollar Buffer (buffer 065). If the specified buffer is Dollar Buffer, the amount is
eight or twelve digits in length, depending on the Dollar Buffer configuration. The last two or three
digits of the amount (depending on decimal places configuration) represent the decimal amount.
Dollar Buffer length and the number of decimal places can be set using the Write Command 3
message.

If the value in this entry is 000, the amount is not stored in a buffer.

Amount Deposit Limit Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341 and 346 through 353
Description: The Amount Deposit Limit Buffer ID entry identifies the buffer where the value of the
pre-configured amount or the consumer entered amount (whichever is lower) is to be placed during
an operation 002. The amount is twelve digits in length, unless the specified buffer is the Dollar
Buffer (buffer 065). If the specified buffer is Dollar Buffer, the amount is eight or twelve digits in
length, depending on the Dollar Buffer configuration. The last two or three digits of the amount
(depending on decimal places configuration) represent the decimal amount. Dollar Buffer length
and the number of decimal places can be set using the Write Command 3 message.

If the mentioned buffer is not initialized with appropriate value or set to 0, then the terminal takes
Network Fault next state.

If the value in this entry is 000, unlimited amount can be deposited by the consumer.

Reserved
Valid Range: 000
Description: This entry is reserved.

5.5.5 Card Reader State (CRb)

The format of the Card Reader state is shown in Table 5-34. The Card Reader state data directs the
terminal to perform specific card reader operations. The Operation entry in the state table
determines which operation the terminal performs.

NOTE

Unlike the Card Read state (A state), the Card Reader state does not automatically search
the FIT tables to obtain a matching FIT record. For this reason, systems using the Card
Reader state must include a Check FIT state (@B state) prior to PIN entry (B, M, or @D state).
Unlike the Card Read state, the Card Reader state does not automatically reset the card
return/retain flag. Systems using the Card Reader state must manually reset this flag for
each consumer session. For details, refer to the paragraphs labeled Resetting the Card
Return/Retain Flag at the end of this section.

Table 5-34 Card Reader State Format


Entry Valid Range
State Number Valid state numbers
State Type CR b
Unit Number 001
Operation 001 - 007, 011 - 015
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
[1]
Read Conditions (composite) 000 - 017
[2]
Read Condition A 000 - 015
[2]
Read Condition B 000 - 015
[2]
Read Condition C 000 - 015
[2]
Read Condition D 000 - 015
Pre-head 000 - 002
[1]
The Read Conditions (composite) entry is required in the state data only when the Operation
entry is 001, 013, or 014, or when the optional Pre-head entry is included in the state data.
[2]
The Read Condition A, B, C, and D entries are required in the state data only when the Operation
entry is 001, 013, or 014, and the card reader is a smart card reader, or when the optional Pre-head
entry is included in the state data. If one of these entries is present, all four must be present.

The following paragraphs describe each entry in the Card Reader state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: CR b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Unit Number
Valid Range: 001
Description: The unit number for the Card Reader state must be 001.

Operation
Valid Range: 001 through 007, and 011 through 015
Description: The Operation entry tells the terminal which operation to perform during the state.

NOTE

If the terminal uses a swipe-style or a standard (non-smart card) dip card reader, the only
applicable Operation entry is 001.

For all writing operations (002, 011, and 012), the applicable track data buffer must contain
good track data (including both the start sentinel and the end sentinel) obtained either from
a good read or from the most recently received Function Command message.

The following paragraphs describe the operations that are valid for the Card Reader state.

001 (Read and wait). Read the card, wait for the operation to complete. The terminal takes a Next
State exit after the card reader successfully reads the card or a fault is encountered (for example,
cannot satisfy the read conditions).

002 (Write track 3). Write on track 3 of the card, wait for the operation to complete. The terminal
takes a Next State exit after the card reader successfully writes and verifies the track 3 data or a
fault is encountered.

003 (Return and wait). Return the card, wait for the consumer to remove the card. The terminal
takes a Next State exit after the consumer takes the card, the consumer timeout expires, or a fault
is encountered (for example, a card jam).

004 (Retain and wait). Retain or capture the card, wait for the operation to complete. The terminal
takes a Next State exit after the card leaves the transport or a fault is encountered (for example, a
card jam).

005 (Reserved). Reserved for future use.

006 (Return, do not wait). Return the card, do not wait for removal. The terminal goes immediately
to the Good Operation Next State without waiting for the consumer to remove the card. The terminal
keeps the card in the drive rollers so that it can be captured at a later time, if necessary.

007 (Return, wait, capture). Return the card, wait for removal, capture the card if not removed.
The terminal takes a Next State exit after the consumer takes the card, the card leaves the
transport, or a fault is encountered (for example, a card jam).

011 (Write track 1). Write on track 1 of the card, wait for the operation to complete. The terminal
takes a Next State exit after the card reader successfully writes and verifies the track 1 data or a
fault is encountered. This operation requires a card reader capable of writing on track 1.

012 (Write track 2). Write on track 2 of the card, wait for the operation to complete. The terminal
takes a Next State exit after the card reader successfully writes and verifies the track 2 data or a
fault is encountered. This operation requires a card reader capable of writing on track 2.
013 (Read, do not lock). Enable card reader for read on insertion and do not lock. This operation
requires a dip smart card reader capable of reading on insertion. When the card is inserted, it is not
locked.

014 (Read and lock). Enable card reader for read on insertion and lock. This operation requires a
dip smart card reader capable of reading on insertion. When the card is inserted, it is locked in the
reader. This allows for multiple transactions with one card insertion. The card can be released by
using a card read state or card read function, or by directing the state flow through a close state.

015 (Wait for removal). Check the card reader sensors until the consumer response time expires.
This operation requires a dip smart card reader. If the sensors are clear (no card in the reader)
before the time expires, the terminal goes to the good operation next state. If the sensors remain
blocked when the time expires, the terminal goes to the consumer fault next state.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen the terminal shows on
the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to respond to the screen shown on the consumer display. If this time expires
before the consumer responds to the screen, the terminal goes to the exit state identified by the
Consumer Fault Next State entry. The valid values for this entry are as follows:
 000 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait forever

Refer to Section 5.15 for additional timer information.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the operation specified is successful.

A retain operation that results in the card being taken before it can be retained (CR01:3F:40:60)
results in a Good Operation Next State exit. This is because there are no adverse effects of such an
event on the terminal. In this case, the retain count is not incremented.

Consumer Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Consumer Fault Next State entry identifies the exit state to which the terminal
goes when the consumer fails to respond to the screen shown on the consumer display. The
terminal goes to this next state when the time defined in the Consumer Response Time entry
expires or when the card fails the read conditions.
Hardware Fault Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

NOTE

The following entry is required to be present in the state data only for operations 001, 013,
and 014, or when the optional Pre-head entry is included in the state data. The Read
Conditions (composite) entry is used only by terminals that cannot read smart cards. If the
terminal can read smart cards, the Read Condition A, B, C, and D entries must be used to
define read conditions, and the Read Conditions (composite) entry must contain the value
000.

Read Conditions (composite)


Valid Range: 000 through 017
Description: If the Operation entry contains 001 (read the card), the Read Conditions (composite)
entry tells the terminal which card tracks it must read correctly. The terminal must satisfy the Read
Conditions before going to the Good Operation Next State. The valid values are as follows:

NOTE

The word and specifies that the terminal must read all the indicated tracks correctly. The
word or specifies that the terminal must read only one of the indicated tracks correctly.

For example, 1 and 2 and 3 indicates that the terminal must read tracks 1, 2, and 3, while a 1 or 2
or 3 indicates that the terminal assumes a successful operation if any of the tracks are read
correctly.

 000 - Use read conditions A, B, C, and D


 001 - 1 only
 002 - 2 only
 003 - 3 only
 004 - 1 and 2
 005 - 1 and 3
 006 - 2 and 3
 007 - 1 and 2 and 3
 008 - 2 or 3
 009 - 1 or 3
 010 - 1 or 2
 011 - 1 or 2 or 3
 012 - 1 and (2 or 3)
 013 - 2 and (1 or 3)
 014 - 3 and (1 or 2)
 015 - 1 or (2 and 3)
 016 - 2 or (1 and 3)
 017 - 3 or (1 and 2)

The terminal always attempts to read all the tracks. The read conditions set up the criteria by which
the terminal determines a successful read operation.

NOTE

The following four entries are required to be present in the state data only for operations
001, 013, and 014 with a smart card reader, or when the optional Pre-head entry is included
in the state data. If the terminal cannot read smart cards, the Read Conditions (composite)
entry must be used to define read conditions, and the Read Condition A, B, C, and D entries,
if present, must contain the value 000.

If one of these entries is present, all four must be present.

If any of the Read Condition A, B, C, and D entries contain a non-zero value, the
corresponding read condition overrides whatever conditions are specified in the Read
Conditions (composite) entry.

Read Condition A
Valid Range: The following values are valid for this entry:
 000 - None
 001 - 3 only
 002 - 2 only
 003 - 2 and 3
 004 - 1 only
 005 - 1 and 3
 006 - 1 and 2
 007 - 1 and 2 and 3
 008 - Chip connect only
 009 - Chip connect and 3
 010 - Chip connect and 2
 011 - Chip connect and 2 and 3
 012 - Chip connect and 1
 013 - Chip connect and 1 and 3
 014 - Chip connect and 1 and 2
 015 - Chip connect and 1 and 2 and 3
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the Good Operation
Next State. Refer to Table 5-35 for the standard values for the Read Condition A, B, C, and D
entries.

Read Condition B
Valid Range: Same as Read Condition A
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the Good Operation
Next State. Refer to Table 5-35 for the standard values for the Read Condition A, B, C, and D
entries.

Read Condition C
Valid Range: Same as Read Condition A
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the Good Operation
Next State. Refer to Table 5-35 for the standard values for the Read Condition A, B, C, and D
entries.

Read Condition D
Valid Range: Same as Read Condition A
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the Good Operation
Next State. Refer to Table 5-35 for the standard values for the Read Condition A, B, C, and D
entries.

NOTE

If a Read Condition A, B, C, or D entry specifies chip connection (any value in the range 008
through 015), and a card without a chip is inserted in the card reader, the read time is longer.
This is because the card reader moves the card to various positions in an attempt to find the
chip.

NOTE

The following entry is optional. If the Pre-head entry is included in the state data, the Read
Conditions (composite) entry and the Read Condition A, B, C, and D entries are all required
to be present. If this entry is not present in the state data, Agilis 3 91x uses the Pre-head
setting configured through the Agilis Configuration Utility.

Pre-head
Valid Range: 000 through 002
Description: The Pre-head entry is applicable only to motorized card readers with a pre-head
sensor. This entry is used with operations 001 and 009 to specify whether to use the card reader
pre-head sensor for opening the card reader gate. The valid values are as follows:
 000 - Use the setting configured through the Agilis Configuration Utility.
 001 - Do not use the pre-head sensor
 002 - Use the pre-head sensor

NOTE
For terminals other than Opteva, the only valid value for the Pre-head entry is 000.

Table 5-35 Standard Read Condition A, B, C, and D Entries for the CR State
Read Condition Read Condition Read Condition Read Condition
Required Tracks A B C D
1 only 004 004 004 004
2 only 002 002 002 002
3 only 001 001 001 001
1 and 2 006 006 006 006
1 and 3 005 005 005 005
2 and 3 003 003 003 003
1 and 2 and 3 007 007 007 007
2 or 3 002 001 001 001
1 or 3 004 001 001 001
1 or 2 004 002 002 002
1 or 2 or 3 004 002 001 001
(1 and 2) or (1 and 3) 006 005 005 005
(2 and 1) or (2 and 3) 006 003 003 003
(3 and 1) or (3 and 2) 005 003 003 003
1 or (2 and 3) 004 003 003 003
2 or (1 and 3) 002 005 005 005
3 or (1 and 2) 001 006 006 006
Chip only 008 008 008 008
3 and chip 009 009 009 009
2 and chip 010 010 010 010
2 and 3 and chip 011 011 011 011
1 and chip 012 012 012 012
1 and 3 and chip 013 013 013 013
1 and 2 and chip 014 014 014 014
1 and 2 and 3 and chip 015 015 015 015
1 or chip 004 008 008 008
2 or chip 002 008 008 008
3 or chip 001 008 008 008
(1 and 2) or chip 006 008 008 008
(1 and 3) or chip 005 008 008 008
(2 and 3) or chip 003 008 008 008
(1 and 2 and 3) or chip 007 008 008 008
2 or 3 or chip 002 001 008 008
1 or 3 or chip 004 001 008 008
1 or 2 or chip 004 002 008 008
(1 and 2) or (1 and 3) or 006 005 008 008
chip
(2 and 1) or (2 and 3) or 006 003 008 008
chip
(3 and 1) or (3 and 2) or 005 003 008 008
chip
1 or (2 and 3) or chip 004 003 008 008
2 or (1 and 3) or chip 002 005 008 008
3 or (1 and 2) or chip 001 006 008 008
1 or 2 or 3 or chip 004 002 001 008

Refer to the following example of a Card Reader state table.

Entry Value
State Number 200
State Type CR b
Unit Number 001
Operation 001
Screen Number 011
Consumer Response Time 060
Good Operation Next State 003
Consumer Fault Next State 004
Hardware Fault Next State 005
Network Fault Next State 006
Read Conditions 006

This example state directs the terminal to do the following:

 Define the state number as 200


 Show screen 011 upon entering the state
 Read tracks 2 and 3 from the consumer's card
 Exit to one of the following state numbers:
o 003 if tracks 2 and 3 are read successfully
o 004 if track 3 has an LRC error, the consumer fails to enter a card in 60 seconds, or
the card jams
o 005 if the card reader fails to communicate properly
o 006 if the card reader is not enabled (in the Agilis Configuration Utility)

Resetting the Card Return/Retain Flag


Unlike the Card Read state (Section 5.4.1), the Card Reader state does not automatically reset the
card return/retain flag. Systems using the Card Reader state must manually reset the flag at the
start of each consumer session.
The card return/retain flag can be reset using a Set Buffer state (Section 5.5.18). The following
table indicates the state data required for resetting the flag.

Entry Value
State Number (state number)
State Type @F b
Good Operation Next State (next state)
Buffer ID 097
Most Significant Byte from Start 001
Value 048
Value 048
Value 048

Buffer 097 (buffer a) is a reserved buffer that Agilis 3 91x uses for the card return/retain flag. When
the state data in the preceding table is processed, the text string 000 is placed in buffer 097. This
action resets the card return/retain flag.

Enhanced Card Reader (CR ) State


The Enhanced Card Reader (CR ) State is used by the ADA Screen Blanking feature. The CR state
will display the reserved screen 943 if a card is inserted, read conditions for the card are met, and
headphones are present.

The CR state will display screen 943 during the following card read operations:

 001 (Read and wait)


 010 (Wait for card Read)
 014 (Read and lock)

If screen 943 is displayed, the CR State will continue if either the customer responds to the prompt
screen, or a time-out occurs. The CR State continues its normal execution regardless of how screen
943 is dismissed and does not affect the next state value taken.

5.5.6 Depositor State (DPb) for Single-item Deposits

This section describes the Depositor state data for single-item deposits. This format is used for
standard envelope depositories, and for the IDM 4 and IDM 5. This format is also used for the IDM bd
when that device is configured to run in single-check mode. The format of the Depositor state table
is shown in Table 5-36. The Depositor state data directs the terminal to perform specific depositor
operations. The Operation entry in the state data determines which operation the terminal performs.

Return and Retain if Jam Feature


If the Return and Retain if Jam feature is enabled, the terminal automatically attempts to recover
from a jam during a check return by moving the affected check into the bin specified by the state
data. If the attempt is successful, the terminal does not report a jam status to the network. For the
Depositor state for single-item deposits, this feature applies to the following operations:
 Return check with printing
 Return check without printing
Table 5-36 Depositor State Format (Single-item Deposits)
Entry Valid Range
State Number Valid state numbers
State Type DP b
Unit Number 001
Operation 000 - 006
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
[1]
Print Buffer ID Valid buffer numbers, 000
[1]
MICR Buffer ID Valid buffer numbers, 000
[1]
Deposit Bin ID 000 - 003
[1]
Reserved Refer to the description.
[1]
Check Accepted Screen Valid screen numbers
[1]
Check Handling Delay Screen Valid screen numbers
[1]
Check Handling Delay Time 000 - 254, 255
[1]
MICR Fault Next State Valid state numbers
[1]
Media Fault Next State Valid state numbers
[1]
Cancel Next State Valid state numbers
[1]
Document Handling Next State Valid state numbers
[1]
Reserved 000
[1]
Reserved 000
[1]
Scanner Fault Next State Valid state numbers
[1] [2]
Suspicious Magnetics Next State Valid state numbers
[1]
These entries are not required for operations 000 and 001.
[2]
Applies only to Opteva terminals equipped with an IDM 5 or IDMbd.

The following paragraphs describe each entry in the Depositor state for single-item deposits.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: DP b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Unit Number
Valid Range: 001
Description: The unit number for the Depositor state must be 001.

Operation
Valid Range: 000 through 006
Description: The Operation entry tells the terminal which operation to perform during the
processing of the state. The following paragraphs describe the operations that are valid for the
Depositor state for single-item deposits.

000 (Dispense envelope). This operation requires an envelope dispenser. For operation 000, state
processing proceeds in a manner similar to that of automatic envelope dispensing (Section 3.3.2),
with the following differences:

 The envelope dispense does not necessarily directly precede a deposit operation.
 If the envelope dispense is not successful, the terminal displays screen 913, rather than
screen 911. This screen is displayed for three seconds.
 When processing is complete, regardless of the outcome of the operation, the terminal
takes the Good Operation Next State exit.

If this operation is used, the only other applicable entry is the Good Operation Next State. All other
entries must be set to 000.

001 (Deposit envelope). This operation requires an envelope depository. The envelope depository
is enabled for a complete envelope deposit.

If the terminal is equipped with an envelope dispenser, and automatic envelope dispensing is
enabled, and the terminal has not previously attempted to dispense an envelope for this
transaction, the terminal automatically dispenses a deposit envelope before proceeding to the
deposit operation (Section 3.3.2).

Timeout of this operation is controlled by the Consumer Response Time entry. The Cancel key is
enabled during this operation. If the Cancel Next State entry is omitted, pressing the Cancel key
results in the terminal taking the Consumer Fault Next State exit.

002 (Deposit check to escrow). This operation requires an IDM. This operation is intended to be
the first step of a check deposit. If there is no check or other document in escrow, the terminal
enables the IDM to perform the following operations:

 Accept a check or document


 Read the MICR line as directed by the MICR search preference set in the Agilis
Configuration Utility
 Capture the image(s) of the check or document
 Hold the check or document in the escrow position
Timeout of this operation is controlled by the Consumer Response Time entry. The Cancel key is
enabled during this operation.

If a check or other document is in escrow at the start of this operation, the check or document is
moved to the deposit bin specified in the Deposit Bin ID entry. The deposit then proceeds as
described in the preceding paragraphs.

If suspicious magnetics are detected on the document during this operation, the terminal takes the
Suspicious Magnetics Next State exit (if that entry is included in the state data). If the terminal is
configured to do so (ACU), the terminal also reports a Suspicious Magnetics status
(DP01:3F:00:40) to the network.

003 (Retain check with printing). This operation requires an IDM. The terminal moves the check
or other document from the escrow position to the deposit bin specified in the Deposit Bin ID entry.

If there is data in the buffer specified by the Print Buffer ID entry, the terminal prints this data on the
check or document. If there is no data in the specified buffer, the terminal prints the default data
(Section 3.3.1). If no printing is desired, the specified buffer must contain all spaces, or the value in
the Print Buffer ID entry must be 000.

The Cancel key is disabled during this operation.

004 (Return check with printing). This operation requires an IDM. The terminal moves the check
or other document from the escrow position to the entry slot of the depository, to allow the
consumer to retrieve the check or document.

If there is data in the buffer specified by the Print Buffer ID entry, the terminal prints this data on the
check or document. If there is no data in the specified buffer, the terminal prints the default data
(Section 3.3.1 If no printing is desired, the specified buffer must contain all spaces, or the value in
the Print Buffer ID entry must be 000.

Timeout of this operation is controlled by the Consumer Response Time entry. If a timeout occurs,
the check or document is captured and placed in the deposit bin specified in the Deposit Bin ID
entry.

The Cancel key is disabled during this operation.

005 (Return check without printing). This operation requires an IDM. The terminal moves the
check or other document from the escrow position to the entry slot of the depository, to allow the
consumer to retrieve the check or document.

Timeout of this operation is controlled by the Consumer Response Time entry. If a timeout occurs,
the check or document is captured and placed in the deposit bin specified in the Deposit Bin ID
entry.

The Cancel key is disabled during this operation.

006 (Disable the IDM). The terminal renders the IDM logically disabled by suspending further
operations on the device. Once the IDM is logically disabled, subsequent Depositor states
immediately exit to the state specified in the Hardware Fault Next State entry, and subsequent
Depositor function commands immediately return a DP01:39:00:0n solicited status (depositor
disabled). The IDM remains logically disabled until the IDM is cleared, and the operator performs
Maintenance logon and logoff.
This operation can be used to limit damage to a check or document jammed in the device. The
operation can also be used when a check or document in escrow cannot be moved to a deposit bin,
and it is not desirable to return the check or document to the consumer.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
upon entering the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to respond to the screen shown on the consumer display. This entry is used
only with operations 001, 002, 004, and 005. This entry is not used with operations 000, 003, and
006.

The valid values for this entry are as follows:

 000 through 255 - Number of seconds (no beeping)


 900 through 931 - Configured timers 900 through 931
 999 - Wait at least three minutes

When waiting for document insertion, if this time expires before the consumer responds to the
screen, the terminal shows the More Time screen and starts timer 01. If timer 01 then expires
without the consumer responding, the terminal goes to the exit state identified by the Consumer
Fault Next State entry.

NOTE

If the specified consumer response time, plus the timer 01 time is longer than the
depository's built-in timeout, the operation times out when the depository's built-in timeout
expires.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the specified operation is successful.

Consumer Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Consumer Fault Next State entry identifies the exit state to which the terminal
goes if the consumer fails to respond to the screen shown on the consumer display. The terminal
goes to this state when the time specified in the Consumer Response Time entry expires.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes if the specified operation fails because of a hardware fault.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state the terminal goes to if the
specified operation fails because of a network fault.

Print Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal is
to print on the deposit printer. The terminal prints the buffer data only when the Operation entry
specifies an operation that includes printing. Also, the print data must be placed in the buffer before
the terminal begins processing the Depositor state. If the value in this entry is 000, printing is
disabled.

MICR Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The MICR Buffer ID entry identifies which buffer the terminal uses to store MICR data
read from the check. If the value in this entry is 000, the terminal does not attempt to read MICR
data from the check.

Deposit Bin ID
Valid Range: 000 through 003
Description: The Deposit Bin ID tells the terminal in which bin to place a deposit, subject to the
capabilities of the IDM as follows. If the bin ID in this entry is lower than the lowest numbered bin in
the IDM, the lowest numbered bin is used. If the bin ID in this entry is higher than the highest
numbered bin in the IDM, the highest numbered bin is used.

This entry is applicable to operations 002, 003, 004, and 005. For all other operations, Agilis 3 91x
ignores this entry.

Reserved
Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in this entry, so any character data is acceptable. The
recommended value for this entry is 000.

Check Accepted Screen


Valid Range: Valid screen numbers (Section 5.6)
Description: This entry contains the number of the screen to display when the IDM has accepted a
check, but has not yet read or scanned the check. If the value in this entry is 000, the terminal does
not change the screen currently showing. If this entry is not included, the value defaults to 000.

Check Handling Delay Screen


Valid Range: Valid screen numbers (Section 5.6)
Description: This entry contains the number of the screen to display if the time specified in the
Check Handling Delay Time entry expires after the check is accepted. This screen is used to assure
the consumer that the check is still being handled in case the IDM has difficulty locating the MICR
data. If the value in this entry is 000, the terminal does not change the screen currently showing. If
this entry is not included, the value defaults to 000.

Check Handling Delay Time


Valid Range: 000 through 254, and 255
Description: The value in this entry specifies how long to wait from the time the check is accepted
until displaying the Check Handling Delay screen. The valid values for this entry are as follows:
 000 through 254 - Number of seconds (no beeping)
 255 - Do not display the Check Handling Delay screen.

MICR Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The MICR Fault Next State entry identifies the exit state to which the terminal goes
when the terminal encounters a fault when reading the MICR data.

Media Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Media Fault Next State entry identifies the exit state to which the terminal goes
when the terminal encounters a problem with the deposited document.

Cancel Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Cancel Next State entry identifies the exit state to which the terminal goes when
the consumer cancels the operation by using the Cancel key.

Document Handling Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Document Handling Next State entry identifies the exit state to which the terminal
goes when the IDM encounters a problem in handling the document.

Reserved (two entries)


Valid Range: 000 (each entry)
Description: These entries are reserved. The entries are present to provide compatibility with
networks running older versions of Agilis 3 91x or TCS.

Scanner Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Scanner Fault Next State entry identifies the exit state to which the terminal goes
when the scanner operation fails, if the scanner failure is a hard fault.

NOTE

The following entry can be included in the Depositor state data for Opteva terminals
equipped with an IDM 5 or an IDM bd , for which it is optional. If the entry is not present,
suspicious magnetics are ignored.

Suspicious Magnetics Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Suspicious Magnetics Next State entry identifies the exit state to which the
terminal goes when the IDM detects abnormal magnetics on the inserted document. If the value in
this entry is 000, suspicious magnetics are ignored.

EXAMPLE

Refer to the following example of a Depositor state table.

Entry Value
State Number 300
State Type DP b
Unit Number 001
Operation 002
Screen Number 030
Consumer Response Time 060
Good Operation Next State 035
Consumer Fault Next State 090
Hardware Fault Next State 100
Network Fault Next State 100
Print Buffer ID 081
MICR Buffer ID 087
Deposit Bin ID 002
Reserved 001
Check Accepted Screen 013
Check Handling Delay Screen 000
Check Handling Delay Time 000
MICR Fault Next State 050
Media Fault Next State 060
Cancel Next State 090
Document Handling Next State 080
Reserved 000
Reserved 000
Scanner Fault Next State 170

This example state instructs the terminal to do the following:

 Define the state number as 300


 Show screen number 030 upon entering the state
 Perform a check deposit with the following criteria:
o If there is a check in escrow at the start of this operation, store that check in deposit
bin 2
o Accept a check deposit
o Show screen 013 when the check has been accepted
o Read the MICR data from the check and store the data in buffer 087 (W)
 Exit to one of the following state numbers:
o 035 if the check deposit operation is successful
o 090 if the consumer cancels the transaction or does not insert a check
o 100 if the depository fails to communicate properly with Agilis 3 91x, or if the
depository is not enabled (in the Agilis Configuration Utility)
o 050 if the MICR read operation fails
o 060 if the depository detects a media fault
o 080 if the depository has problems handling the check, (jam, and so on)
o 170 if the scanner operation fails

5.5.7 Depositor State (DPb) for Bulk Document Deposits

This section describes the Depositor state data for bulk document deposits. This format is used by
the IDMbd operating in multi-check mode (native mode). The format of the Depositor state table is
shown in Table 5-37. The Depositor state data directs the terminal to perform specific depositor
operations. The Operation entry in the state data determines which operation the terminal performs.

For an example transaction flow for bulk document deposit transactions, refer to Figure 5-2 at the
end of this section.

Return and Retain if Jam Feature


If the Return and Retain if Jam feature is enabled, the terminal automatically attempts to recover
from a jam during a check return by moving the affected check(s) into the bin specified by the state
data. If the attempt is successful, the terminal does not report a jam status to the network. For the
Depositor state for bulk document deposits, this feature applies to the following operations:
 Present checks
 Move checks
 Roll back checks
Table 5-37 Depositor State Format (Bulk Deposits)
Entry Valid Range
State Number Valid state numbers
State Type DP b
Unit Number 001
Operation 002 - 013
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Print Buffer ID Valid buffer numbers, 000
MICR Buffer ID Valid buffer numbers, 000
[1]
Deposit Bin ID 001 - 002, valid buffer numbers , 000
Reserved Refer to the description.
Check Accepted Screen Valid screen numbers
Reserved Refer to the description.
Reserved Refer to the description.
MICR Fault Next State Valid state numbers
Media Fault Next State Valid state numbers
Cancel Next State Valid state numbers
Document Handling Next State Valid state numbers
Reserved 000
Reserved 000
Scanner Fault Next State Valid state numbers
Suspicious Magnetics Next State Valid state numbers
Maximum Documents in Escrow 000 - 255
Check Index Buffer ID Valid buffer numbers, 000
Check Not Present Next State Valid state numbers
[1]
Buffer numbers are applicable to the Disposition Query operation only.

The following paragraphs describe each entry in the Depositor state for bulk document deposits.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: DP b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Unit Number
Valid Range: 001
Description: The unit number for the Depositor state must be 001.

Operation
Valid Range: 002 through 015
Description: The Operation entry tells the terminal which operation to perform during the
processing of the state. The following paragraphs describe the operations that are valid for the
Depositor state for bulk document deposits.
002 (Deposit checks to escrow). This operation is intended to be the first step of a document
deposit. The terminal enables the IDMbd to perform the following operations:

 Accept a stack of documents for deposit. Timeout of this part of the operation is controlled
by the Consumer Response Time entry. The Cancel key is enabled until the terminal
detects documents in the entry slot.
 Process each document of the stack (up to the limit specified by the Maximum Documents
in Escrow entry) as follows:
o Read the MICR line
o Capture the top and bottom images of the document
o Check for suspicious magnetics on the document
o Place the document in escrow

The terminal does not wait for the IDMbd to finish processing the stack. When the stack is pulled into
the terminal and the shutter closes, the terminal takes the Good Operation Next State exit while the
IDMbd continues to process the stack.

If a document is rejected by the IDMbd (for example, for being the wrong size), the rejected
document is placed back in the entry slot. If all the documents are rejected, the terminal takes the
Media Fault Next State exit.

Document images captured during the Deposit Checks to Escrow operation are maintained until a
Close state is processed, or until the next Deposit Checks to Escrow operation. The operation
captures the following document image files:

C:\Program Files\Diebold\Agilis EmPower\DAData


\top_nn.bmp

C:\Program Files\Diebold\Agilis EmPower\DAData


\bot_nn.bmp

Where nn is a number from 01 to 30, corresponding to a document in escrow. The number nn is the
check index number assigned to the document.

NOTE

If there are documents in the entry slot at the start of this operation, the IDM bd cannot accept
a new stack of documents. The terminal takes the Document Handling Next State exit and
reports a Document Handling status (DP01:3E:00:76) to the network.

If there are documents in escrow at the start of this operation, the IDM bd cannot accept a new
stack of documents. The terminal takes the Network Fault Next State exit and reports a
Network Error (DP01:3E:00:75) to the network.

The network must use state or function command processing to clear the entry slot and escrow as
needed before the IDMbd can accept a new stack of documents.

003 (Retain check with printing). The terminal flags a document for deposit to the bin specified in
the Deposit Bin ID entry. The document to be flagged is determined by the value in the buffer
specified by the Check Index Buffer ID entry. But if the Check Index Buffer ID entry is 000, the
document to be flagged is determined by the previous Set Check Context operation. The document
is not physically moved to the specified bin until a Move Checks operation is performed.

If there is data in the buffer specified by the Print Buffer ID entry, the terminal stores that data for
printing during the Move Checks operation. If there is no data in the specified buffer, the terminal
stores the default data (Section 3.3.1). If no printing is desired, the value in the Print Buffer ID entry
must be 000, or the specified buffer must contain all spaces.

If the specified document is not in escrow, but the initial processing (begun by the Deposit Checks
to Escrow operation) is not yet complete, the Retain Check with Printing operation waits until the
initial processing is complete.

If the specified document is not in escrow when the initial processing is complete, no action is
performed, and the terminal takes the Good Operation Next State exit.

004 (Return check with printing). The terminal flags a document for return to the consumer. The
document to be flagged is determined by the value in the buffer specified by the Check Index Buffer
ID entry. But if the Check Index Buffer ID entry is 000, the document to be flagged is determined by
the previous Set Check Context operation. The document is not physically moved to the entry slot
and presented to the consumer until a Move Checks operation is performed.

If there is data in the buffer specified by the Print Buffer ID entry, the terminal stores that data for
printing during the Move Checks operation. If there is no data in the specified buffer, the terminal
stores the default data (Section 3.3.1. If no printing is desired, the value in the Print Buffer ID entry
must be 000, or the specified buffer must contain all spaces.

If the specified document is not in escrow, but the initial processing (begun by the Deposit Checks
to Escrow operation) is not yet complete, the Return Check with Printing operation waits until the
initial processing is complete.

If the specified document is not in escrow when the initial processing is complete, no action is
performed, and the terminal takes the Good Operation Next State exit.

005 (Return check without printing). The terminal flags a document for return to the consumer.
The document to be flagged is determined by the value in the buffer specified by the Check Index
Buffer ID entry. But if the Check Index Buffer ID entry is 000, the document to be flagged is
determined by the previous Set Check Context operation. The document is not physically moved to
the entry slot and presented to the consumer until a Move Checks operation is performed.

If the specified document is not in escrow, but the initial processing (begun by the Deposit Checks
to Escrow operation) is not yet complete, the Return Check without Printing operation waits until the
initial processing is complete.

If the specified document is not in escrow when the initial processing is complete, no action is
performed, and the terminal takes the Good Operation Next State exit.

006 (Disable the IDM). The terminal renders the IDMbd logically disabled by suspending further
operations on the device. Once the IDMbd is logically disabled, subsequent Depositor states
immediately exit to the state specified in the Hardware Fault Next State entry, and subsequent
Depositor function commands immediately return a DP01:39:00:0n solicited status (depositor
disabled). The IDMbd remains logically disabled until the IDMbd is cleared, and the operator performs
Maintenance logon and logoff.
This operation can be used to limit damage to a document jammed in the device. The operation can
also be used when a document in escrow cannot be moved to a deposit bin, and it is not desirable
to return the document to the consumer.

007 (Set check context). The terminal obtains a check index number from the buffer specified by
the Check Index Buffer ID entry, then waits for the corresponding document to be placed in escrow
following initial processing (begun by the Deposit Checks to Escrow operation). The terminal then
generates screen icons and a printable image for the document, and stores the document's MICR
data in the specified buffer.

If the value in the Check Index Buffer ID entry is 000, or if the specified buffer contains a value of
zero, the check index number is not changed from the value it had at the start of this state.

This operation is required prior to performing any of the following activities for the specified
document:

 Displaying the document image on the consumer display (ESC Q or ESC @)


 Interpreting the courtesy amount on a check (Image Character Recognition state)
 Sending the MICR data to the network (or any network use of the MICR data)
 Printing any check-specific information, such as check images (for example, using ESC R
or ESC r), check numbers, or check index numbers

The terminal stores the document's MICR data in the buffer specified by the MICR Buffer ID entry. If
MICR data was not detected on the document during the initial processing, or if the data is not valid,
the terminal takes the MICR Fault Next State exit during the Set Check Context operation.
However, if the MICR Buffer ID entry is 000, the terminal does not store the MICR data and does
not take the MICR Fault Next State exit if a MICR data error is detected.

If suspicious magnetics were detected on the document during the initial processing, the terminal
takes the Suspicious Magnetics Next State exit during the Set Check Context operation. If the
terminal is configured to do so (ACU), the terminal also reports a Suspicious Magnetics status
(DP01:3F:00:40) to the network.

NOTE

If there are no documents in escrow when the initial processing is complete, the terminal
takes the Media Fault Next State exit on attempting to perform a Set Check Context
operation.

If the initial processing is complete, and the specified check index number exceeds the
number of checks in escrow, the terminal takes the Check Not Present Next State exit.

008 (Presentable checks query). The terminal reports whether there are documents that are ready
to present to the consumer. This operation can be used to determine if any documents have been
rejected during initial processing (Deposit Checks to Escrow operation) or have been left
unprocessed in the entry slot (which occurs if the consumer inserted more than the specified
maximum number of documents). The operation does not wait for initial processing to complete
before taking one of the following exits:

 Good Operation Next State - There are documents ready to present. Initial processing is
complete.
 Check Not Present Next State - There are no documents to return. Initial processing is
complete.
 Media Fault Next State - There are no documents to return yet, but initial processing is not
yet complete.
 Document Handling Next State - Some documents have been rejected, but initial
processing is not yet complete.

009 (Present checks). The terminal presents all the documents that are in the entry slot to the
consumer. Typically, a Present Checks operation would follow a Presentable Checks Query
operation if the Presentable Checks Query operation indicated that there were documents to be
presented to the consumer.

Timeout of this operation is controlled by the Consumer Response Time entry. If the presented
documents are not taken within the allotted time or if the Cancel key is pressed, the documents are
recaptured and placed in the deposit bin specified by the Deposit Bin ID entry.

010 (Move checks). The terminal moves all the documents from escrow to their assigned
destinations, as set by previous Retain Check with Printing, Return Check with Printing, and Return
Check without Printing operations. Documents that have no assigned destination are moved to the
bin specified by the Deposit Bin ID entry.

For documents whose disposition was set by a Retain Check with Printing or Return Check with
Printing operation, if there is stored print data for the document, the terminal prints the data on the
document.

All documents being returned to the consumer are moved to the entry slot, and the resulting stack is
presented to the consumer. As soon as the documents are presented, the terminal displays the
screen specified by the Check Accepted Screen entry, which should prompt the consumer to
remove the documents. The Cancel key is enabled (unless the value in the Screen Number entry is
000). Timeout of this part of the operation is controlled by the Consumer Response Time entry. If
the presented documents are not taken within the allotted time or if the Cancel key is pressed, the
documents are recaptured and placed in the deposit bin specified by the Deposit Bin ID entry.

If there are no documents in escrow at the start of this operation, the terminal takes the Good
Operation Next State exit.

011 (Roll back checks). The terminal attempts to immediately return all returnable documents to
the consumer. All documents that have not been placed in one of the deposit bins are moved to the
entry slot and presented. There is no printing on these documents during this operation.

If documents are still being scanned at the start of this operation, the terminal waits until scanning is
complete before moving documents from escrow.

If there are no returnable documents in the device at the start of this operation, the terminal takes
the Media Fault Next State exit.

Timeout of this operation is controlled by the Consumer Response Time entry. If the presented
documents (if any) are not taken within the allotted time or if the Cancel key is pressed, the
documents are recaptured and placed in the deposit bin specified by the Deposit Bin ID entry. The
terminal then takes the Consumer Fault Next State exit.
012 (Clear checks). The terminal attempts to clear the device of all documents in escrow, in the
entry slot, or in the transport, and place them in the specified bin. The Deposit Bin ID entry is used
to specify the bin in which to place the cleared documents. There is no printing on these documents
during this operation.

If there are no documents in escrow, in the entry slot, or in the transport at the start of this
operation, the terminal takes the Media Fault Next State exit.

013 (Disposition query). The terminal reports the future disposition of an escrowed document,
based on the destination assigned by a previous Retain Check with Printing, Return Check with
Printing, or Return Check without Printing operation. The Check Index Buffer ID entry is used to
specify the escrowed document to query. The answer to the query is placed in the buffer specified
by the Deposit Bin ID entry. The valid values for the disposition are as follows:

 000 - Return to the consumer


 001 - Retain in bin 1
 002 - Retain in bin 2

The disposition data is stored as an ASCII text string. For example, the value 002 (retain in bin 2) is
stored as hex 30 30 32.

This operation does not change the current check context (set by the Set Check Context operation).

If the value in the Check Index Buffer ID entry is 000, the current check context determines which
document to query. If the value in the check index buffer is 00, document 01 is queried.

If the disposition of the document has not been set by a Retain Check with Printing operation,
Return Check with Printing operation, or Return Check without Printing operation, the contents of
the buffer specified by the Deposit Bin ID entry is not changed.

If there are no documents in escrow at the start of this operation, the terminal takes the Media Fault
Next State exit.

014 (Insert Check(s) and Start Reco). The Insert Check(s) and Start Reco operation allows the
customer to insert their check or stack of checks. Once check(s) are inserted, and the shutter is
closed, the state exits with a Good Operation Next State (the terminal does not wait for the stack
processing to complete). The terminal starts the reco process that scans and performs reco on all of
the inserted checks. The reco process determines how a given document is interpreted, and which
fields on the document to recognize.

The number of documents in each stack can reach up to the limit specified by the Maximum
Documents in the Escrow entry. On each document of the stack, the terminal performs the following
activities in the background:

 Reads the MICR line


 Captures the top and bottom images of the document
 Checks for suspicious magnetics on the document
 Places the document in escrow
 Performs Reco of check
Timeout of this part of the operation is controlled by the Consumer Response Time entry. The
Cancel key is enabled until the terminal detects documents in the entry slot.

The Insert Check(s) and Start Reco operation should follow an IC operation 000 in order to start the
reco process in this operation. Otherwise reco is not started in this operation and terminal takes
Good Operation Next State as soon as checks are inserted. This operation does reco based on
Document Type, Document Index and Document Window passed in IC state with operation 000.

If a document is rejected by the IDMBD (for example, for being the wrong size), the rejected
document is placed back in the entry slot. If all the documents are rejected, the terminal takes the
Media Fault Next State exit in the Confirm Reco Done operation.

Document images captured as a result of this operation are maintained until a Close state is
processed. The operation captures the following document image files:

 C:\diebold\tcs\top_nn.bmp
 C:\diebold\tcs\bot_nn.bmp

Where, nn is a number from 01 to 30, corresponding to a document in escrow. The number nn is


the check index number assigned to the document.

If there are documents in the entry slot at the start of this operation, the IDMBD cannot accept a
new stack of documents. The terminal takes the Document Handling Next State exit and reports a
Document Handling status (DP01:3E:00:76) to the network.

The network must use state or function command processing (DP operation 012 and 112 - Clear
Checks) to clear the entry slot as needed before the IDMBD can accept a new stack of documents.

Check Index Buffer ID field must have valid buffer ID (065 to 090). Value 000 is not valid for this
operation for IDMBD.

For deposit more and add more checks scenarios, using Information Entry State @D, this
operation can be called again after Confirm Reco Done and a Present Checks operation (if there
are rejected checks). If the user selects Yes, the state flow would return to the Insert Check(s) and
Start Reco operation to add more checks. If this operation is called again immediately without
calling Confirm Reco Done in between then an invalid sequence error is generated, and the
terminal takes the Network Fault Next State exit.

Any errors or jams that occur are either sent as unsolicited or are found on the next operation
Confirm Reco Done.

NOTE

If Insert Check(s) and Start Reco operation is used out of sequence, that is, used
immediately after DP operation 002, then an invalid sequence error is generated, and the
terminal takes the Network Fault Next State exit.

015 (Confirm Reco Done). The Confirm Reco Done operation is used to determine when the
scanning and the reco process of all of the inserted checks are complete. If the reco process is
complete, the state takes the Good Operation Next State. If the reco process is not complete, the
state waits in this operation for the reco process to complete and exits with a Good Operation Next
State.
If the reco process was not started in Insert Check(s) and Start Reco operation, the terminal waits
for check processing to complete and exits with a Good Operation Next State.

If all the documents were rejected which were inserted in previous depositor operation (Insert
Check(s) and Start Reco), the terminal takes the Media Fault Next State exit in this operation.

NOTE

The Confirm Reco Done operation must follow an Insert Check(s) and Start Reco operation
(from either a state or a function command). Otherwise, an invalid sequence error is
generated, and the terminal takes the Network Fault Next State exit.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display upon entering the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to insert or remove documents, as applicable. The valid values for this entry
are as follows:
 000 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait at least three minutes

When waiting for document insertion, if this time expires before the consumer responds, the
terminal shows the More Time screen and starts timer 01. If timer 01 then expires without the
consumer responding, the terminal takes the Consumer Fault Next State exit.

NOTE

If the specified consumer response time, plus the timer 01 time is longer than the IDM bd's
built-in timeout, the operation times out when the IDM bd's built-in timeout expires.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the specified operation is successful.

Consumer Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Consumer Fault Next State entry identifies the exit state to which the terminal
goes if the consumer fails to insert or remove documents (as applicable) within the time allowed by
the Consumer Response Time entry.
Hardware Fault Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes if the specified operation fails because of a hardware fault.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state the terminal goes to if the
specified operation fails because of a network fault.

Print Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The Print Buffer ID entry identifies which buffer contains the data to be printed on the
document.

The print data must be placed in the specified buffer before performing the Retain Check with
Printing operation or the Return Check with Printing operation (as applicable), which stores the data
for later printing. The terminal prints this data on the document during the Move Checks operation.

If the value in this entry is 000, printing is disabled.

MICR Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The MICR Buffer ID entry identifies which buffer the terminal uses to store MICR data
read from the check during the Set Check Context operation. If the value in this entry is 000, the
terminal does not store the MICR data in a buffer.

Deposit Bin ID
Valid Range: Refer to the description.
Description: The following operations use this entry to specify the bin in which to place a
document. For these operations, the valid range for this entry is 001 through 002:
 Retain check with printing
 Present checks
 Move checks
 Roll back checks
 Clear checks

For the Disposition Query operation, this entry specifies the buffer in which to place the response to
the query. The entry must contain a valid buffer number for this operation.

For all other operations, this entry should contain 000.

Reserved
Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in this entry, so any character data is acceptable. The
recommended value for this entry is 000.
Check Accepted Screen
Valid Range: Valid screen numbers (Section 5.6)
Description: For the Deposit Checks to Escrow operation, this entry specifies the screen to display
when the IDMbd has accepted one or more documents for processing.

For the Move Checks operation, this entry specifies the screen to display if the terminal returns any
documents to the consumer. The screen is displayed when the documents are presented to the
consumer.

If the value in this entry is 000, the terminal does not change the screen currently showing.

Reserved (two entries)


Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in these entries, so any character data is acceptable.
This allows compatibility with legacy systems using the Check Handling Delay functionality. For
non-legacy systems, the recommended value for both entries is 000.

MICR Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The MICR Fault Next State entry identifies the exit state to which the terminal goes
when MICR data was not detected on the document, or the MICR data is not valid.

Media Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Media Fault Next State entry identifies the exit state to which the terminal goes
when the terminal encounters a problem with the stack of documents inserted by the consumer.

Cancel Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Cancel Next State entry identifies the exit state to which the terminal goes when
the consumer cancels an operation by pressing the Cancel key.

Document Handling Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Document Handling Next State entry identifies the exit state to which the terminal
goes when the IDMbd encounters a problem in handling the documents.

Reserved (two entries)


Valid Range: 000 (each entry)
Description: These entries are reserved. The entries are present to provide compatibility with
networks running older versions of Agilis 3 91x or TCS.

Scanner Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Scanner Fault Next State entry identifies the exit state to which the terminal goes
when the scanner operation fails, if the scanner failure is a hard fault.

Suspicious Magnetics Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Suspicious Magnetics Next State entry identifies the exit state to which the
terminal goes when the IDMbd detects abnormal magnetics on a document. If the value in this entry
is 000, suspicious magnetics are ignored.

Maximum Documents in Escrow


Valid Range: 000, and 001 through 255
Description: The Maximum Documents in Escrow entry specifies the maximum number of
documents to be accepted and placed in escrow during a Deposit Checks to Escrow operation. If
the number of documents in escrow reaches this maximum, any additional documents in the entry
slot are left in the entry slot, unprocessed.

If the maximum specified in this entry is greater than the maximum capacity of the device (30, in the
case of the IDMbd), the terminal uses the maximum capacity of the device as the maximum number
of documents to accept.

If the value in this entry is 000, should accepts checks as per device capabilities during a Deposit
Checks to Escrow operation.

Check Index Buffer ID


Valid Range: Valid buffer numbers, and 000
Description: The Check Index Buffer ID entry specifies the buffer containing the check index
number for an operation. The check index number represents a corresponding document placed in
escrow during the initial processing of the document stack.

The specified buffer must contain a two-digit decimal number formatted as an ASCII text string. For
example, to specify a check index number of 3, the check index buffer must contain the characters
03 (hex 30 33). The check index number of the first check in escrow is 01.

Check Not Present Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry identifies the exit state to which the terminal goes if the specified document
is not in escrow after initial processing is complete (Set Check Context operation) or if there are no
returnable documents in the entry slot after initial processing is complete (Presentable Checks
Query operation).

Example Transaction Flow for Bulk Check Deposits


Figure 5-2 is an example of a typical transaction flow for a bulk check deposit transaction. The
typical implementation includes a validation loop where the consumer can view each check image
and validate the courtesy amount.

The validation loop begins with a Set Check Context operation, which generates screen icons and
printable images for each check and prepares an image for the Image Character Recognition state
(IC state). Then the Image Character Recognition state interprets the courtesy amount on the
check. Next, the terminal displays the image of the check and instructs the consumer to enter the
amount of the check. If the entered amount is different from the amount provided by the Image
Character Recognition state, the terminal flags the check for return to the consumer. If the amounts
agree, the terminal sends a Consumer Request message to the network.

The network can then direct the terminal to flag the check either for retain to a specified bin or for
return to the consumer (for a description of the Depositor function data, refer to Section 6.5.7).
Lastly, the terminal increments the loop counter (check index) for the validation loop. This loop
continues until all the checks have been validated by the consumer. When the loop counter
exceeds the number of checks in escrow, a Move Checks operation moves the checks to their
various specified destinations.

Figure 5-2 Example Transaction Flow for Bulk Check Deposits


5.5.8 Get Encrypted PIN State (EPb)

The format of the Get Encrypted PIN state table is shown in Table 5-38. The Get Encrypted PIN
state data directs the terminal to get the encrypted PIN block of the consumer-entered PIN from the
encrypting PIN pad and store the PIN block in the buffer specified in the state table. This allows the
terminal to verify that two separate entries of the PIN match, by placing the resulting PIN blocks in
separate buffers and then comparing the buffers (using the Buffer Compare state). By requiring a
consumer to enter their PIN twice and verifying that the entries match, an institution can ensure that
the consumer typed the PIN correctly before proceeding with the transaction.

NOTE

The technique of verifying PIN entries by comparing PIN blocks works only if either an ANSI
PIN block or a simple Diebold PIN block is used to encrypt the entered PINs. If an ISO Format
3 PIN block is used, or if a Diebold PIN block with coordination number is used, the PIN
blocks will not match even when the PIN entries are the same.

Table 5-38 Get Encrypted PIN State Format


Entry Valid Range
State Number Valid state numbers
State Type EP b
Operation 001
Buffer ID 065 - 090, 256 - 355
Good Operation Next State Valid state numbers
Error Next State Valid state numbers

The following paragraphs describe each entry in the Get Encrypted PIN state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: EP b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Operation
Valid Range: 001
Description: The Operation entry tells the terminal which operation to perform during the
processing of the state. The only valid value for the Get Encrypted PIN state is 001.

Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies the buffer in which to store the encrypted PIN block.
Good Operation Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the encrypted PIN block has been successfully retrieved from the encrypting PIN pad
and stored in the specified buffer.

Error Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Error Next State entry identifies the exit state the terminal goes to when the
operation fails for any reason.

5.5.9 Image Character Recognition State (ICb) (terminals with IDM only)

The format of the Image Character Recognition state table is shown in Table 5-39. The Image
Character Recognition state determines how a given document is interpreted, which fields on the
document to recognize, and where to store the information found in those field locations.

NOTE

For an example of the use of this state, refer to Section D.3.

Table 5-39 Image Character Recognition State Format


Entry Valid Range
State Number Valid state numbers
State Type IC b
Operation 000, 001
Screen Number Valid screen numbers
Good Next State Valid state numbers
Execution Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Document Type 001 - 999
Document Index 001 - 999
Document Window 001 - 999
Buffer ID 065 - 090, 256 - 355
• •
• •
• •
Document Window 001 - 999
Buffer ID 065 - 090, 256 - 355
MICR Buffer ID 000, 065 - 090, 256 - 355

The following paragraphs describe each entry in the Image Character Recognition state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: IC b
Description: The State Type entry identifies the specific type of State Data entries associated with
a particular state number. The State Type entry is considered part of the State Data.

Operation
Valid Range: 000, 001
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Image Character Recognition state.

000. No action. The operation goes immediately to successful completion. This operation allows
compatibility with legacy systems using the Enable operation.

001 (Read). Read. The Read operation must come after a deposit operation.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the specified operation is successful.

Execution Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Execution Fault Next State entry identifies the exit state to which the terminal
goes when the specified operation fails.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the specified operation fails because of an invalid state entry or an entry out of range.

Document Type
Valid Range: 001 through 999
Description: The Document Type entry identifies the type of document to process. Document types
can be personal checks, commercial checks, bill payments, and so on. For information about the
standard, predefined document types, refer to the paragraphs labeled Standard Document Types,
Indexes, and Windows at the end of this section.
Document Index
Valid Range: 001 through 999
Description: The Document Index entry identifies which document is to be processed within a
particular document type. For information about the standard, predefined document indexes, refer
to the paragraphs labeled Standard Document Types, Indexes, and Windows at the end of this
section.

Document Window
Valid Range: 001 through 999
Description: The Document Window entry identifies the area of the document to process. For
information about the standard, predefined document windows, refer to the paragraphs labeled
Standard Document Types, Indexes, and Windows at the end of this section.

Buffer ID
Valid Range: 065 through 090 (buffers A through Z), and 256 through 355 (enhanced buffers)
Description: The Buffer ID entry identifies the buffer where the results of the Read operation are to
be placed.

NOTE

A valid buffer ID is needed to process the state entries correctly, but is only used for a Read
operation. No results are placed in the specified buffer for operation 000.

The state table can contain up to 25 pairs of Document Window and Buffer ID entries.

NOTE

The following optional entry can be included in the state data for use in courtesy amount
recognition (document type/index/window = 1, 1, 1). This feature can reduce the amount of
time required to perform the recognition operation.

This functionality requires ImageWay terminal version 2.5 or later, and depends on the
proper configuration of appropriate RSS recognition templates.

MICR Buffer ID
Valid Range: 000, 065 through 090 (buffers A through Z), and 256 through 355 (enhanced buffers)
Description: The MICR Buffer ID entry identifies the buffer that contains the MICR data read from
the current document (typically, this buffer is filled by a preceding state or function command
specifying a Deposit Check to Escrow operation). Agilis 3 91x reads the MICR data from the buffer
and parses the data to identify which template should be used for courtesy amount recognition. If
the value in this entry is 000, Agilis 3 91x uses the default template.

Standard Document Types, Indexes, and Windows


The following table shows the standard, predefined document types, document indexes, and
document windows used by Agilis 3 91x.
Document Document Document
[1]
Type Index Window RSS Template
U.S. Check 1 1 1 US_AMOUNT
Courtesy
Amount
U.S. Check 1 1 2 US_E13B
E13B MICR Line
[2]

Front Image 3 1 1 US_IMAGE_QUALITY


Quality Test
Rear Image 3 1 2 US_IMAGE_QUALITY_REAR
Quality Test
[1]
The templates listed in this column are the default templates used by Agilis 3 91x. For information
on modifying these templates, refer to the Recognition Subsystem Programmer's Reference Manual
(TP-821144-001D).
[2]
Starting with Agilis 3 91x version 3.0, no action is performed for this window. Refer to the
paragraphs labeled U.S. Check E13B MICR Line.

U.S. Check E13B MICR Line. Agilis 3 91x no longer performs any action for this window (1, 1, 2).
Instead, the activity goes immediately to successful completion. This result allows compatibility with
legacy systems using this window.

To obtain the MICR data from a document, use the MICR data provided by the Deposit Check to
Escrow operation of a Depositor state or function.

Quality Tests. The terminal can perform a quality test on the scanned image. If the quality test
passes, the terminal takes the Good Operation Next State exit. If the quality test fails, the terminal
takes the Execution Fault Next State exit.

At the completion of Image Character Recognition state processing, image quality data is placed in
the buffer specified by the Buffer ID entry. If the network needs image quality data, the data in this
buffer can be included in the Consumer Request message. This option requires coordinating the
buffer specification in the Image Character Recognition state with corresponding entries in the
Transaction Request state.

5.5.10 Printer State (PRb) for the Receipt Printer

The format of the Printer state table for the receipt printer is shown in Table 5-40. The Printer state
data directs the terminal to perform specific receipt printer operations. The Operation entry in the
state data determines which operation the terminal performs.

Table 5-40 Printer State Format for Receipt Printer


Entry Valid Range
State Number Valid state numbers
State Type PR b
Unit Number 001
Operation 001 - 004
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Print Buffer ID 065 - 090, 256 - 355
Unremoved Document Flag 000

The following paragraphs describe each entry in the Printer state for the receipt printer.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: PR b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Unit Number
Valid Range: 001
Description: The unit number for the Printer state data for the receipt printer must be 001.

Operation
Valid Range: 001 through 004
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Printer state data for the receipt printer.

001 (Print, do not wait). Print the data on the consumer's receipt. Do not wait for the operation to
complete. The terminal goes immediately to the Good Operation Next State.

If the print data contains a form feed control character (0C hex), and the receipt is not taken before
the time specified in the Consumer Response Time entry expires, the terminal retains or dumps the
receipt (if the printer has that capability). If a receipt is retained or dumped due to a timeout, the
terminal sends the network an unsolicited status indicating an automatic document retain or dump.

If the Consumer Response Time entry is 000, the terminal uses timer 21 instead. If the value of
timer 21 is also 000 (timer 21's default value), the terminal does not automatically retain or dump
the receipt.

002 (Deliver, do not wait). Deliver the printed receipt. Do not wait for the operation to complete.
The terminal goes immediately to the Good Operation Next State unless a data error is detected. In
that case, the Network Fault Next State is taken.

If the receipt is not taken before the time specified in the Consumer Response Time entry expires,
the terminal retains or dumps the receipt (if the printer has that capability). If a receipt is retained or
dumped due to a timeout, the terminal sends the network an unsolicited status indicating an
automatic document retain or dump.
If the Consumer Response Time entry is 000, the terminal uses timer 21 instead. If the value of
timer 21 is also 000 (timer 21's default value), the terminal does not automatically retain or dump
the receipt.

003 (Deliver and wait). Deliver the printed receipt. Wait for the operation to complete. The terminal
takes the Good Operation Next State exit after the consumer has taken the delivered receipt, or if
there is no receipt to be delivered.

If the receipt is not taken before the time specified in the Consumer Response Time entry expires,
the terminal goes to the Consumer Fault Next State. The terminal does not automatically retain or
dump the receipt.

If the Consumer Response Time entry is 000, the terminal takes the Good Operation Next State exit
immediately after delivering the receipt. The terminal does not wait for the consumer to take the
receipt. The Consumer Fault Next State entry is never used.

004 (Print and wait). Print the data on the consumer's receipt. Wait for the operation to complete.
The terminal takes a Good Operation Next State exit after the printer successfully prints all the data.

If the print data contains a form feed control character (0C hex), the terminal delivers the receipt
before taking the Good Operation Next State exit, but the terminal does not wait for the consumer to
take the receipt before exiting. If the receipt is not taken, the terminal does not automatically retain
or dump the receipt.

To increase the state sequencing speed, the network can combine printing data and delivering the
receipt in one operation. To accomplish this, the network should end the print data with a form feed
control character and then use a Print and Do Not Wait operation in the state (001). State
sequencing then continues while the printing and delivery operations are performed.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to take the delivered document.

This entry is used only with operations 001, 002, and 003. If the operation is not 001, 002, or 003,
this entry is not used and must be 000.

The valid values for this entry are as follows:

 000 - The interpretation depends on which operation is specified, as follows:


o Operations 001 and 002 - Use timer 21 (If the value of timer 21 is 000, the terminal
does not automatically retain or dump the receipt.)
o Operation 003 - Exit to the Good Operation Next State immediately after delivering
the receipt
 001 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931.
 999 - Wait forever (no beeping)

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the operation specified is successful.

Consumer Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Consumer Fault Next State entry identifies the exit state to which the terminal
goes when the consumer fails to take the printed document within the allotted time (as specified by
the Consumer Response Time entry).

This entry is used only with printers equipped with an exit sensor, and only with operation 003. If the
printer has no exit sensor, or if the operation is not 003, this entry is not used and must be 000.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Print Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal
prints on the receipt printer. The terminal prints the buffer data only when the Operation entry
specifies a print operation (operation 001 or 004). The network must place the print data in this
buffer before the terminal processes the Printer function.

NOTE

The following entry (Unremoved Document Flag) is optional.

Unremoved Document Flag


Valid Range: 000
Description: The Unremoved Document Flag entry is reserved for future use.

EXAMPLE 1

Refer to the following example of a Printer state table for a receipt printer that has no exit sensor.
Entry Value
State Number 075
State Type PR b
Unit Number 001
Operation 003
Screen Number 100
Consumer Response Time 000
Good Operation Next State 300
Consumer Fault Next State 000
Hardware Fault Next State 400
Network Fault Next State 500

This example state directs the terminal to do the following:

 Define the state number as 075


 Show screen 100 upon entering the state
 Deliver the consumer's receipt and wait for the operation to complete (operation 003)
 Exit to one of the following state numbers:
o 300 if the operation is successful
o 400 if the printer faults
o 500 if the print data is invalid, or if the receipt printer is not enabled (in the Agilis
Configuration Utility)

EXAMPLE 2

Refer to the following example of a Printer state table for a receipt printer equipped with an exit
sensor.

Entry Value
State Number 075
State Type PR b
Unit Number 001
Operation 001
Screen Number 000
Consumer Response Time 038
Good Operation Next State 300
Consumer Fault Next State 000
Hardware Fault Next State 400
Network Fault Next State 500
Print Buffer ID 080
Unremoved Document Flag 000
This example state directs the terminal to do the following:

 Define the state number as 075


 Do not change the screen shown upon entering the state
 Start printing the consumer's receipt and do not wait for the operation to complete
(operation 001)
 Exit to one of the following state numbers:
o 300 if the printing starts successfully
o 400 if the printer fails to communicate properly
o 500 if the receipt printer is not enabled (in the Agilis Configuration Utility)
 Continue printing the consumer's receipt using the data in buffer 080 (buffer P)

Agilis 3 91x does not use the Consumer Fault Next State entry in this example, because the
Operation entry contains a value of 001 rather than 003.

EXAMPLE 3

Refer to the following example of a Printer state table for a receipt printer equipped with an exit
sensor.

Entry Value
State Number 075
State Type PR b
Unit Number 001
Operation 004
Screen Number 000
Consumer Response Time 000
Good Operation Next State 300
Consumer Fault Next State 000
Hardware Fault Next State 400
Network Fault Next State 500
Print Buffer ID 080
Unremoved Document Flag 000

This example state directs the terminal to do the following:

 Define the state number as 075


 Do not change the screen shown upon entering the state
 Print the consumer's receipt and wait for the operation to complete (operation 004). Print
the receipt using the data in buffer 080 (buffer P).
 Exit to one of the following state numbers:
o 300 if printing is successful
o 400 if the printer faults
o 500 if the printer data is invalid, or if the receipt printer is not enabled (in the Agilis
Configuration Utility)

Agilis 3 91x does not use the Consumer Response Time entry and the Consumer Fault Next State
entry in this example, because the Operation entry contains a value of 004 rather than 001, 002, or
003.

5.5.11 Printer State (PRb) for the Journal Printer

The format of the Printer state table for the journal printer is shown in Table 5-41. The Printer state
data directs the terminal to perform specific journal printer operations. The Operation entry in the
state data determines which operation the terminal performs.

Table 5-41 Printer State Format for Journal Printer


Entry Valid Range
State Number Valid state numbers
State Type PR b
Unit Number 002
Operation 001, 004
Screen Number Valid screen numbers
Consumer Response Time 000
Good Operation Next State Valid state numbers
Consumer Fault Next State 000
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Print Buffer ID 065 - 090, 256 - 355
Unremoved Document Flag 000

The following paragraphs describe each entry in the Printer state for the journal printer.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: PR b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Unit Number
Valid Range: 002
Description: The unit number for the Printer state data for the journal printer must be 002.
Operation
Valid Range: 001 and 004
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Printer state data for the journal printer.

001 (Print, do not wait). Print the data on the journal printer's audit roll. Do not wait for the
operation to complete. The terminal goes immediately to the Good Operation Next State.

004 (Print and wait). Print the data on the journal printer's audit roll. Wait for the operation to
complete. The terminal takes a Next State exit after all the data has been printed.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000
Description: This entry is not used for journal printer operations.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the operation specified is successful.

Consumer Fault Next State


Valid Range: 000
Description: This entry is not used for journal printer operations.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Print Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal
prints on the journal printer. The network must place the print data in this buffer before the terminal
processes the Printer function.
Unremoved Document Flag
Valid Range: 000
Description: This entry is not used for journal printer operations.

EXAMPLE

Refer to the following example of a Printer state table for a journal printer.

Entry Valid Range


State Number 077
State Type PR b
Unit Number 002
Operation 001
Screen Number 000
Consumer Response Time 000
Good Operation Next State 150
Consumer Fault Next State 000
Hardware Fault Next State 200
Network Fault Next State 250
Print Buffer ID 082 (R)

This example state directs the terminal to do the following:

 Define the state number as 077


 Do not change the screen shown upon entering the state
 Start printing on the journal printer and do not wait for the operation to complete (operation
001)
 Exit to one of the following state numbers:
o 150 if the printing starts successfully
o 200 if the printer fails to communicate properly
o 250 if the journal printer is not enabled (in the Agilis Configuration Utility)
 Continue printing to the journal printer using the data in buffer R

5.5.12 Printer State (PRb) for the Electronic Journal

The format of the Printer state table for the electronic journal is shown in Table 5-42. The Printer
state data directs the terminal to perform specific electronic journaling operations. The Operation
entry in the state data determines which operation the terminal performs.

Table 5-42 Printer State Format for Electronic Journal


Entry Valid Range
State Number Valid state numbers
State Type PR b
Unit Number 003
Operation 001, 004
Screen Number Valid screen numbers
Consumer Response Time 000
Good Operation Next State Valid state numbers
Consumer Fault Next State 000
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Print Buffer ID 065 - 090, 256 - 355
Unremoved Document Flag 000

The following paragraphs describe each entry in the Printer state for the electronic journal.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: PR b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Unit Number
Valid Range: 003
Description: The unit number for the Printer state data for the electronic journal must be 003.

Operation
Valid Range: 001 and 004
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Printer state data for the electronic journal.

001 (Print, do not wait). Print the data on the electronic journal device. Do not wait for the
operation to complete. The terminal goes immediately to the Good Operation Next State.

004 (Print and wait). Print the data on the electronic journal device. Wait for the operation to
complete. The terminal takes a Next State exit after the device successfully prints all the data or a
fault is encountered.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000
Description: This entry is not used for electronic journal operations.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the operation specified is successful.

Consumer Fault Next State


Valid Range: 000
Description: This entry is not used for electronic journal operations.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Print Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal
prints on the electronic journal device. The network must place the print data in this buffer before
the terminal processes the Printer function.

Unremoved Document Flag


Valid Range: 000
Description: This entry is not used for electronic journal operations.

5.5.13 Passbook Printer State (PBb)

The format of the Passbook Printer state table is shown in Table 5-43. The Passbook Printer state
data directs the terminal to perform specific passbook printer operations. The data in the Operation
entry determines which operation the terminal performs.

NOTE

The Passbook Printer state does not provide a printing operation. The network must use a
Passbook Printer function command (Section 6.4.23 or Section 6.5.12) to perform passbook
printing.
Table 5-43 Passbook Printer State Format
Entry Valid Range
State Number Valid state numbers
State Type PB b
Unit Number 001
Operation 000, 003-006
Screen Number Valid screen numbers
Consumer Response Time 000-255, 922, 931, 999
Redeliver Screen Valid screen numbers
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Fault - Passbook Not In Device Next State Valid state numbers
Fault - Passbook In Device Next State Valid state numbers
Cancel Next State Valid state numbers
Reserved 'V'

The following paragraphs describe each entry in the Passbook Printer state.

State Number
Valid Range: Valid state numbers
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: PB b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Unit Number
Valid Range: 001
Description: The unit number for the Passbook Printer state must be 001.

Operation
Valid Range: 000, and 003 through 006
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Passbook Printer state.

000. No action. The terminal takes the Good Operation Next State exit immediately.

003 (Accept passbook). If there is no passbook in escrow, the passbook printer is enabled to
accept the insertion of a passbook, and the terminal shows the screen specified in the Screen
Number entry (which typically prompts the consumer to insert the passbook). If the time specified in
the Consumer Response Time entry expires before the consumer inserts a passbook, the terminal
shows the More Time screen and starts timer 01. If timer 01 then expires without the consumer
responding, the terminal takes the Consumer Fault Next State exit.

If the passbook printer is capable of reading and writing magnetic stripes, and if magnetic stripe
reading is enabled, then the terminal reads the magnetic stripe. The terminal places this data in
buffer 329.

If the passbook printer is capable of reading page numbers and detecting blank lines, and if
automatic line finding is enabled, then the terminal reads the page number and the line number.
The terminal places this data in buffers 327 and 328, respectively.

The Cancel key is enabled during this operation.

If the passbook is in escrow as the result of a previous accept operation, the terminal takes the
Fault - Passbook In Device Next State exit immediately.

NOTE

It is the responsibility of the network programmer to ensure that, after a successful


passbook accept operation, the passbook is either returned (operation 004) or retained
(operation 005) sometime before closing the consumer session (state J or state @Z).

004 (Return passbook). The passbook is moved from the escrow position to the present position
to allow the consumer to retrieve the passbook. The terminal shows the screen specified in the
Screen Number entry (which typically prompts the consumer to remove the passbook), and timer
931 is started.

If timer 931 expires before the passbook is removed from the passbook printer, the terminal takes
the Consumer Fault Next State exit. The terminal performs the delivery timeout action (retain
passbook or leave passbook presented) specified in the Agilis Configuration Utility.

If there is no passbook in the escrow position, the terminal takes the Fault - Passbook Not In Device
Next State exit immediately. The terminal sends the network an unsolicited status indicating a return
passbook failure.

The Cancel key is disabled during operation 004.

005 (Escrow passbook). The passbook is retained and the entry slot is closed. The terminal shows
the screen specified in the Screen Number entry (which typically informs the consumer that the
passbook is being retained). When the escrow operation has been successfully completed, the
terminal takes the Good Operation Next State exit.

If there is no passbook in the entry slot, the terminal takes the Fault - Passbook Not In Device Next
State exit immediately. The terminal sends the network an unsolicited status indicating a retain
passbook failure.

NOTE

For passbook printers without a retain bin, once a passbook is escrowed, no further
passbook transactions are allowed until the passbook printer has been serviced by purging
the escrowed passbook. The passbook must be purged using proper maintenance
procedures or a passbook printer self-test.
006 (Write on stripe). This operation requires a passbook printer that has the capability of writing
data on the magnetic stripe of a passbook. The terminal writes the contents of buffer 329 on the
magnetic stripe of a passbook. The terminal waits for the operation to complete.

The magnetic stripe data that is to be written to the passbook must be placed in buffer 329 before
performing this operation. The valid range of characters for magnetic stripe data is A to F, 0 through
9 : ; and < = > (ASCII hex 30 through 3F). The maximum number of characters that can be printed
on a magnetic stripe is 50.

Screen Number
Valid Range: Valid screen numbers
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal performs any operation except operation 000 (no
action). The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 922, 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to insert a passbook into the passbook printer.

This entry is used only with operation 003 (accept passbook). This entry is not used with operations
000, 004, 005, and 006.

The valid values for this entry are defined as follows:

 001 through 255 - Number of ticks (no beeping)


 922 and 931 - Configured timers 922 and 931
 000, 999 - Wait forever (no beeping)

NOTE

Agilis 3 91x automatically uses timers 922 and 930 for page-turning procedures. Also, Agilis
automatically uses timer 931 for all return operations other than the return during a manual
page-turning procedure. The timeout intervals for these timers must be appropriate for those
operations. To use one of those timers for the consumer response time, the network
programmer must ensure that the timeout interval serves both uses equally well.

Redeliver Screen
Valid Range: Valid screen numbers
Description: The Redeliver Screen entry specifies the number of the screen to be displayed during
operation 003 (accept passbook) if a passbook was left in the entry slot from a previous attempt to
return the passbook. This situation can occur if the delivery timeout action specified in the Agilis
Configuration Utility is Leave Passbook Presented. Typically, this screen prompts the consumer to
remove the passbook and insert their own passbook in order to proceed with the transaction.

The valid values for the Redeliver Screen entry are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Good Operation Next State


Valid Range: Valid state numbers
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the specified operation is successful.

Consumer Fault Next State


Valid Range: Valid state numbers
Description: The Consumer Fault Next State entry identifies the exit state to which the terminal
goes if the consumer did not perform a needed action, such as inserting or removing the passbook
within the allotted time.

Fault - Passbook Not In Device Next State


Valid Range: Valid state numbers
Description: The Fault - Passbook Not In Device Next State entry identifies the exit state to which
the terminal goes if a hardware fault occurs and there is no passbook in the passbook printer. Also,
the terminal takes this exit if there is a passbook in escrow at the start of operation 003 (accept
passbook), or if there is no passbook in escrow at the start of operation 004 (return passbook) or
operation 005 (escrow passbook).

Fault - Passbook In Device Next State


Valid Range: Valid state numbers
Description: The Fault - Passbook In Device Next State entry identifies the exit state to which the
terminal goes if a hardware fault occurs and the terminal detects a passbook in the passbook
printer. Also, the terminal takes this exit if a network fault occurs.

Cancel Next State


Valid Range: Valid state numbers
Description: The Cancel Next State entry identifies the exit state to which the terminal goes if the
consumer presses the Cancel key.

Reserved
Valid Range: ' V '
Description: This entry is reserved for compatibility with older systems. The only valid value is ' V '.

5.5.14 Check FIT State (@Bb)

The format of the Check FIT state table is shown in Table 5-44. The Check FIT state data directs
the terminal to compare the institution ID read from the consumer's card against the Financial
Institution Table (FIT) entries stored in terminal memory. If there is a match, the terminal goes to the
Match Next State. If no match is found, the terminal goes to the No Match Next State. Refer to the
Data Security Procedures and Reference Manual (TP-799530-001E) for details on FIT.

NOTE

Data in the consumer's associated FIT entry determines whether the terminal uses the
state's PIN Retry Count entry or the PIN retry count recorded on the consumer's card. For
detailed information on FIT entries, refer to the Data Security Procedures and Reference
Manual (TP-799530-001E).

Table 5-44 Check FIT State Format


Entry Valid Range
State Number Valid state numbers
State Type @B b
Match Next State Valid state numbers
No Match Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
PIN Retry Count 000 - 255

The following paragraphs describe each entry in the Check FIT state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @B b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Match Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry specifies the state number of the exit to be taken if the Institution ID from
the card matches an Institution ID in the FIT entries.

No Match Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry specifies the state number of the exit to be taken if the Institution ID from
the card does not match an Institution ID in the FIT entries.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.
PIN Retry Count
Valid Range: 000 through 255
Description: If programmed to do so in the FIT, the PIN Retry Count entry specifies the maximum
number of times a consumer can enter an incorrect PIN before the terminal goes to the Maximum
Bad PINs Next State (identified in the Check PIN state).

Data in the consumer's associated FIT entry determines whether the terminal uses the state's PIN
Retry Count entry or the PIN retry count recorded on the card. For detailed information on FlT
entries, refer to the Data Security Procedures and Reference Manual (TP-799530-001E).

The terminal resets the PIN retry counter each time it executes a state that contains a PIN Retry
Count entry.

If this entry is included in the Check FIT state, the Check PIN state should not include a PIN Retry
Count entry. Upon executing the Check FlT state, the terminal loads the entry value into the PIN
retry counter. The terminal then decreases the value of the counter each time the consumer enters
a bad PIN during the Check PIN state.

EXAMPLE

Refer to the following example of a Check FIT state table.

Entry Value
State Number 110
State Type @B b
Match Next State 200
No Match Next State 300
Hardware Fault Next State 000
Network Fault Next State 000

This example state directs the terminal to do the following:

 Define the state number as 110


 Store the Institution ID data read from the consumer's card
 Check the FIT entries for match with the Institution ID
 Exit to one of the following state numbers:
o 200, if the Institution ID from the card matches an Institution ID in the FIT entries
o 300, if the Institution ID from the card does not match an Institution ID in the FIT
entries

5.5.15 Check PIN State (@Cb)

The format of the Check PIN state table is shown in Table 5-45. The Check PIN state data directs
the terminal to verify the PIN entered by the consumer. The terminal must perform a Check FIT
state (@B) and an Information Entry state (B, M, @D) before performing a Check PIN state.
The check PIN state is used to validate that the number of characters entered by the consumer is
enough to satisfy the minimum number of PIN digits required by the FIT. Because Agilis 3 91x does
not support local PIN checks, no actual PIN verification occurs at the terminal.

NOTE

Data in the consumer's associated FIT entry determines whether the terminal uses the
state's PIN Retry Count entry or the PIN retry count recorded on the consumer's card. For
detailed information on FIT entries, refer to the Data Security Procedures and Reference
Manual (TP-799530-001E).

Table 5-45 Check PIN State Format


Entry Valid Range
State Number Valid state numbers
State Type @C b
Match Next State Valid state numbers
No Match Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Maximum Bad PINs Next State Valid state numbers
No Local PIN Check Next State Valid state numbers
PIN Data ID 064
PIN Retry Count 000 - 255

The following paragraphs describe each entry in the Check PIN state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @C b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Match Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry specifies the state number of the exit to be taken if the PIN entered by the
consumer matches the calculated PIN.

NOTE

This next state is never used since the PIN validation does not occur at the terminal (only a
minimum PIN length check occurs. If the PIN length check passes, then the No Local PIN
Check next state is taken.
No Match Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry specifies the state number of the exit to be taken if the PIN entered by the
consumer does not match the calculated PIN.

Hardware Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Hardware Fault Next State entry identifies the exit state to which the terminal
goes when the operation specified by the state fails because of a hardware fault in the terminal.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Maximum Bad PINs Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Maximum Bad PINs Next State entry identifies the exit state to which the terminal
goes if the consumer exceeds the maximum number of PIN attempts (PIN Retry Count entry in the
Check FIT state or Check PIN state).

No Local PIN Check Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The No Local PIN Check Next State entry identifies the exit state to which the terminal
goes when the consumer's associated FIT entry specifies that the terminal send the consumer's
PIN to the network for verification (no PIN check performed at the terminal).

PIN Data ID
Valid Range: 064
Description: The only valid value for this entry is 064.

PIN Retry Count


Valid Range: 000 through 255
Description: If programmed to do so in the FIT, the PIN Retry Count entry specifies the maximum
number of times a consumer can enter an incorrect PIN before the terminal goes to the Maximum
Bad PINs Next State (not enough PIN digits as specified by the FIT).

Data in the consumer's associated FIT entry determines whether the terminal uses the state's PIN
Retry Count entry or the PIN retry count recorded on the consumer's card. For detailed information
on the FlT entries, refer to the Data Security Procedures and Reference Manual (TP-799530-001E).

The terminal resets the PIN retry counter each time it executes a state that contains a PIN Retry
Count entry.

If this entry is included in the Check FIT state, the Check PIN state should NOT include a PIN Retry
Count entry. Upon executing the Check FlT state, the terminal loads the entry value into the PIN
retry counter. The terminal then decrements the counter each time the consumer enters a bad PIN
during the Check PIN state.
If this entry is included in the Check PIN state, the terminal performs the following state sequence:

1. The terminal enters an Information Entry state that prompts the consumer to enter a PIN
number. The Format Template Full Next State entry of this Information Entry state is a
Check PIN state.
2. The terminal enters the Check PIN state and loads the PIN Retry Count entry value into the
PIN retry counter. The terminal decreases the value of the counter each time the consumer
enters a bad PIN.
3. If the consumer entered a bad PIN, the counter is decreased and the terminal enters the No
Match Next State specified in the Check PIN state. The No Match Next State entry is a
second Information Entry state.
4. The second Information Entry state informs the consumer that an invalid PIN has been
entered and prompts the consumer for a new PIN. The Format Template Full Next State
entry of this second Information Entry state is a different Check PIN state that has no PIN
Retry Count entry.
5. If the consumer entered another bad PIN, the value of the counter specified in Step 2 is
decreased and the terminal enters the No Match Next State specified in the second Check
PIN state. The No Match Next State entry is the same Information Entry state specified in
Step 4.
6. If the PIN retry counter reaches zero, the terminal exits to the state specified in the
Maximum Bad PINs Next State entry. This Next State entry should be included in the
second Check PIN state specified in Step 4.

Specifying a PIN retry count in the second Check PIN state resets the PIN retry counter, making it
impossible for the counter to reach zero.

EXAMPLE

Refer to the following example of a Check PIN state table.

Entry Value
State Number 120
State Type @C b
Match Next State 050
No Match Next State 060
Hardware Fault Next State 070
Network Fault Next State 080
Maximum Bad PINs Next State 090
No Local PIN Check Next State 095
PIN Data ID 064
PIN Retry Count 003

This example state directs the terminal to do the following:

 Define the state number as 120


 Verify the consumer-entered PIN according to the directions in the FIT entry
 If programmed to do so in FIT, use the state's PIN retry count (003) to determine the
number of maximum bad PIN entry attempts the consumer is allowed
 Exit to one of the following state numbers:
o 050 if the FIT entry tells the terminal to perform PIN verification and the PIN
entered by the consumer is correct
o 060 if the FIT entry tells the terminal to perform PIN verification and the PIN
entered by the consumer is incorrect
o 070 if the hardware faults
o 080 if the network faults
o 090 if the consumer entered too many bad PINs
o 095 if the FIT entry tells the terminal to send the PIN to the network for verification

5.5.16 Information Entry State (@Db)

The format of the Information Entry state table is shown in Table 5-46. The terminal uses the
Information Entry state data to allow the consumer to enter information.

To allow the consumer to enter information, the State data calls Screen #1 along with a format
template or Screen #2 or both.

NOTE

Screen #2 is not used when the Information Entry State @D b is used for PIN entry.

With optional entries, this state can also do the following:

 Define the type of entry allowed (numeric key, function key, or both).
 Format the way consumer-entered data is shown (format templates).
 Select the buffers in which to store consumer keystroke data.
 Exit to another state depending on whether the consumer presses a function key or fills the
format template shown on the screen.

If the consumer must press several function keys during a transaction, the terminal must
use a separate Information Entry state for each function key keypress.

The value of Timeout #1 determines the amount of time allowed for the consumer to enter
information. The terminal goes to the state defined by the Timeout Next State number if the
consumer does not complete the information entry in the allotted time.

Because the state data does not use record separators (RSs) to identify the individual optional
entries, the terminal requires that the state data contain the optional entries up to, and including, the
final desired entry. Intermediate entries that are not desired must contain an applicable
disabling value. Intermediate optional entries cannot be skipped. However, the terminal does
not require any of the optional entries after the final desired entry.

NOTE

If this state is being used to display a screen for a specified time period with no keys
enabled, then the state definition must include parameters up to the Function Key A Next
state.
NOTE

If the terminal is using the Voice feature and a function key (J, K, L, or M) has been assigned
as a volume key or a repeat key, Agilis 3 91x ignores any attempt to enable that function key
for any other use during a consumer session. For details, refer to Section 5.11.

Table 5-46 Information Entry State Format


Entry Valid Range
State Number Valid state numbers
State Type @D b
Screen #1 Valid screen numbers
Screen #2 Valid screen numbers
Do You Want More Time? Enable 000 - 001
Timeout #1 000 - 255, 900 - 931, 999
Reserved 000
Timeout #1 Next State (refer to the Note above) Valid state numbers
Reserved 000
Format Template Number 000 - 099, 900 - 999
Number of Keys 255
Numeric Key Buffer ID 064 - 090, 256 - 355
Format Template Full Next State Valid state numbers
Function Key Buffer ID 000, 065 - 090, 256 - 355
Function Key Buffer Byte 001 - 255
Function Key A Next State (refer to the Note above) Valid state numbers
Function Key B Next State Valid state numbers
Function Key C Next State Valid state numbers
Function Key D Next State Valid state numbers
Function Key E Next State Valid state numbers
Function Key F Next State Valid state numbers
Function Key G Next State Valid state numbers
Function Key H Next State Valid state numbers
Function Key I Next State Valid state numbers
Function Key J Next State Valid state numbers
Function Key K Next State Valid state numbers
Function Key L Next State Valid state numbers
Function Key M Next State Valid state numbers

The following paragraphs describe each entry in the Information Entry state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @D b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Screen #1
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen #1 entry specifies the number of the first screen that the terminal shows
on the consumer display when the terminal enters the Information Entry state. This screen must
leave the display's cursor positioned at the beginning of the format template area or the overlay
screen (Screen #2). The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Screen #2
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen #2 entry specifies the number of an overlay screen that can be used in
place of, or along with, a format template. If the state does not use Screen #2, set this entry to 000.
The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Do You Want More Time? Enable


Valid Range: 000 and 001
Description: This entry enables the terminal to show the Do You Want More Time? screen. If this
entry is set to 001 (enabled) and Timeout #1 expires, the terminal shows the screen and waits for a
Yes or No response from the consumer.

If the consumer chooses Yes, the terminal restarts the Information Entry state from the beginning. If
the consumer chooses No, the terminal exits to the timeout next state.

If the entry is set to 000 (disabled) and Timeout #1 expires, the terminal exits to the timeout next
state.

Timeout #1
Valid Range: 000 through 255, 900 through 931, and 999
Description: The Timeout #1 entry defines the amount of time that the terminal waits for the
consumer to press each key defined by the Number of Keys entry.

If this time expires before the consumer presses a key, the terminal goes to the exit state identified
by the Timeout #1 Next State entry. The valid values for this entry are as follows:

 000 - Terminal will directly go to timeout next state


 001 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait forever

Refer to Section 5.15 for additional timer information.

Reserved
Valid Range: 000
Description: The terminal does not use this field.

Timeout #1 Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Timeout #1 Next State entry identifies the exit state to which the terminal goes
when the consumer fails to press a key timed by Timeout #1.

Reserved
Valid Range: 000
Description: The terminal does not use this field.

Format Template Number


Valid Range: 000 through 099
Description: The Format Template Number entry specifies which format template the terminal uses
to define and show the data that the consumer enters using the numeric keys of the keypad
(Section 5.19). The valid values for this entry are as follows:
 000 - Disable the numeric keys
 001 through 099 - Format template number

Number of Keys
Valid Range: 255
Description: The Number of Keys entry defines the number (amount) of keypresses timed by
Timeout #1. These keys are the set of keys the consumer presses to enter data during the state (for
example, the numeric keys for a transaction amount and a function key to terminate the entry of the
transaction amount).

The only valid value for this field is 255 (all keypresses timed by Timeout #1).

Numeric Key Buffer ID


Valid Range: 064 through 090 (buffer @ and buffers A through Z), and 256 through 355 (enhanced
buffers)
Description: The Numeric Key Buffer ID entry identifies which buffer the terminal uses to store the
numeric data entered by the consumer during the Information Entry state. The terminal
automatically clears this buffer upon entering the Information Entry state.

If the buffer ID is 064 and a valid format template is specified the @Db state enables the Pin Pad in
"PIN" mode. No PIN data is placed in the buffer.

Format Template Full Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Format Template Full Next State entry identifies the exit state to which the
terminal goes when the consumer fills the format template shown on the consumer display.

When the Information Entry State is used for PIN entry (buffer ID field is set to 064 ('@') and the
format template is not 000 or 900, then the Format template full next state will behave as follows:

 255 - Disables auto-end for PIN entry - If the maximum number of PIN digits is entered "PIN
entry" will end but the state will wait for a function key to be pressed so that a selection can
be made along with the entry of the PIN.
 Valid next state - next state to go to when the format template has been filled.

Function Key Buffer ID


Valid Range: 000, 065 through 090 (A through Z), and 256 through 355
Description: The Function Key Buffer ID entry identifies which buffer contains the key code data for
the function key pressed by the consumer. The valid values for this entry are as follows:
 000 - Do not place the value of the pressed key in any buffer
 065 through 090 (A through Z), and 256 through 355 - Buffer ID

Function Key Buffer Byte from Start


Valid Range: 001 through 255
Description: The Function Key Buffer Byte from Start entry identifies the position in the buffer
where the terminal stores the key code data for the function key pressed by the consumer. The
function key byte is counted from the first byte in the buffer.

A value of 001 in this entry represents the first (left-most) byte in the buffer. In a buffer with a length
of 255 bytes, a value of 255 in this entry represents the last (right-most) byte in the buffer.

Refer to Figure 5-3 for an example in which the function key byte is defined as the fourth-from-start
byte because the value of the Function Key Buffer Byte from Start entry is 004.

Figure 5-3 Example Function Key Buffer Byte from Start Entry
Function Key X Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Function Key X Next State entry identifies the exit state to which the terminal
goes when the consumer presses the related function key during the state (X = any of the function
keys, A through I). The valid values for this entry are as follows:
 Valid state numbers - State number
 255 - Disable the function key while in the state

EXAMPLE

Refer to the following example of an Information Entry state table.

Entry Value
State Number 050
State Type @D b
Screen #1 026
Screen #2 000
Do You Want More Time? 000
Timeout #1 008
Reserved 000
Timeout #1 Next State 001
Reserved 000
Format Template Number 002
Number of Keys 255
Numeric Key Buffer ID 066 (B)
Format Template Full 002
Function Key Buffer ID 079 (O)
Function Key Buffer Byte from Start 003
Function Key A Next State 003
Function Key B Next State 255
Function Key C Next State 004
Function Key D Next State 255
Function Key E Next State 005

This example state directs the terminal to do the following:

 Define the state number as 050


 Show Screen #1 (026) upon entering the state
 Disable Screen #2
 Disable the Do You Want More Time? screen
 Set Timeout #1 for 8 seconds
 Call format template 002, enabling the numeric keys of the keypad
 Place any numeric data entered into buffer B
 Place the key code for any function key pressed into the third byte of buffer O
 Enable function keys A, C, and E (Cancel)
 Exit to one of the following state numbers:
o 001 if a timeout occurs (Timeout #l)
o 002 if the consumer fills the format template
o 003 if the consumer presses function key A
o 004 if the consumer presses function key C
o 005 if the consumer presses function key E (Cancel key on most systems)

In the table, the state data requires a Next State entry of 255 to disable function keys B and D, but
does not require any entries for function keys F through I.

5.5.17 Buffer Compare State (@Eb)

The Buffer Compare state is a general purpose state that compares the contents of two buffers.

An offset value can be used to ignore certain characters from the right end of a buffer. The least
significant character has an offset value of 1. The offset value indicates the last character
considered for the comparison. All characters to the right of the offset value are ignored. An offset
value of 1 indicates that all characters in the buffer should be compared.

Several state entries can be defined to indicate the next state operation, which is determined by the
values compared in two buffers. The good next state operation is one of the following conditions:

 Buffer 1 < Buffer 2


 Buffer 1 = Buffer 2
 Buffer 1 > Buffer 2

If the data contained in either buffer is not valid for the specified compare mode or a problem was
encountered retrieving the buffer to compare, an error next state diverts state flow.

The state entries for use with the Buffer Compare state (@E) are shown in Table 5-47.

Table 5-47 Buffer Compare State Format


Entry Valid Range
State Number Valid state numbers
State Type @E b
Compare Mode 001, 002
Buffer_1 ID 065 - 090, 256 - 355
Buffer_1 Offset 001 - Buffer_1 Length
Buffer_2 ID 065 - 090, 256 - 355
Buffer_2 Offset 001 - Buffer_2 Length
Buffer_1 Value < Buffer_2 Value Next State Valid state numbers
Buffer_1 Value = Buffer_2 Value Next State Valid state numbers
Buffer_1 Value > Buffer_2 Value Next State Valid state numbers
Compare Error Next State Valid state numbers

The following paragraphs describe each entry in the Buffer Compare state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @E b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Compare Mode
Valid Range: 001 and 002
Description: The Compare Mode entry tells the terminal the type of compare mode to use when
comparing the contents of two buffers. The valid values are as follows:
 001 - Compare as ASCII decimal numeric data (ignore leading 0s)
 002 - Compare as binary data 00 through FF (ignore leading NULLs)

If the buffers are not the same length, then the shorter buffer is padded to the left before the
compare operation. The compare mode pads the shorter buffer with ASCII zeros (hex 30) for ASCII
data and NULLs (hex 00) for binary data.

Buffer_1 ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer_1 ID entry identifies the ID of the first buffer in the comparison.

Buffer_1 Offset
Valid Range: 001 through Length of Buffer_1
Description: The Buffer_1 Offset entry contains the offset from the end of Buffer_1. The end
position (offset equal to one) is the least significant value moving left to the more significant values.

Buffer_2 ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer_2 ID entry identifies the ID of the second buffer in the comparison.

Buffer_2 Offset
Valid Range: 001 through Length of Buffer_2
Description: The Buffer_2 Offset entry contains the offset from the end of Buffer_2. The end
position (offset equal to one) is the least significant value moving left to the more significant values.

Buffer_1 < Buffer_2 Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Buffer_1 < Buffer_2 Next State entry tells the terminal which state to go to if the
value in Buffer_1 is less than the value in Buffer_2.

Buffer_1 = Buffer_2 Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Buffer_1 < Buffer_2 Next State entry tells the terminal which state to go to if the
value in Buffer_1 is equal to the value in Buffer_2.

Buffer_1 > Buffer_2 Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Buffer_1 > Buffer_2 Next State entry tells the terminal which state to go to if the
value in Buffer_1 is greater than the value in Buffer_2.

Compare Error Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Compare Error Next State entry tells the terminal which state to go to if the value
in either Buffer_1 or Buffer_2 is not valid for the compare mode.
5.5.18 Set Buffer State (@Fb)

The format of the Set Buffer state table is shown in Table 5-48. The Set Buffer state data directs the
terminal to set specific bytes in an existing buffer to the values contained in the state data and then
to exit to another state.

The Set Buffer state does not create a buffer. That is, it cannot be used to redefine the length of an
existing buffer or to create a new buffer. The Set Buffer state can only be used to change data
bytes in an existing buffer. For information on creating buffers, refer to Section 5.5.23.

The terminal enters the first value of the state data into the buffer position indicated by the Most
Significant Byte from Start entry. The terminal enters the remaining values, in succession, into the
buffer positions to the right of the Most Significant Byte from Start (bytes of lesser significance). A
Value entry of 255 causes no change to a current buffer position. Therefore, an existing buffer byte
that must not be changed can be skipped.

NOTE

To use the Set Buffer state, the network must either use a buffer that already exists or define
a buffer before using the state. The network defines buffers using the Create Buffer state
(@L b).

The number of Value entries that can be assigned to a Set Buffer state is limited by the size of the
existing buffer and by the starting position within the buffer.

Table 5-48 Set Buffer State Format


Entry Valid Range
State Number Valid state numbers
State Type @F b
Good Operation Next State Valid state numbers
Buffer ID 065 - 090, 256 - 355
Most Significant Byte From Start 001 - 255
Value 000 - 255
Value 000 - 255
• •
• •
• •
Value 000 - 255

The following paragraphs describe each entry in the Set Buffer state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.
State Type
Valid Range: @F b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes once the buffer is set.

Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies the buffer being set.

Most Significant Byte From Start


Valid Range: 001 through 255
Description: The Most Significant Byte From Start entry identifies the position in the buffer at which
to begin setting values. The most significant byte is counted from the first byte in the buffer.

A value of 001 in this entry represents the first (left-most) byte in the buffer. In a buffer with a length
of 255 bytes, a value of 255 in this entry represents the last (right-most) byte in the buffer.

Refer to Figure 5-4 for an example in which the most significant byte is defined as the fourth-from-
start byte because the value of the Most Significant Byte From Start entry is 004.

Figure 5-4 Example Most Significant Byte from Start Entry


Value
Valid Range: 000 through 255
Description: This entry contains the value to place in a buffer.

EXAMPLE

Refer to the following example of the Set Buffer state table.

Entry Value
State Number 120
State Type @F b
Good Operation Next State 001
Buffer ID 066 (B)
Most Significant Byte from Start 005
Value 065
Value 255
Value 050

This example state directs the terminal to do the following:

 Define the state number as 120


 Exit to state number 001 after changing the specified buffer bytes
 Set the fifth byte of buffer B to an A (041 hex, 065 decimal)
 Do not change the sixth byte of buffer B
 Set the seventh byte of buffer B to a 2 (032 hex, 050 decimal)

Figure 5-5 shows the contents of buffer B before and after the terminal performs the example Set
Buffer state.

Figure 5-5 Set Buffer State Example

5.5.19 Buffer Copy State (@Gb)

The format of the Buffer Copy state table is shown in Table 5-49. The Buffer Copy state copies a
buffer to another buffer.

Table 5-49 Buffer Copy State Format


Entry Valid Range
State Number Valid state numbers
State Type @G b
Good Operation Next State Valid state numbers
Source Buffer ID 065 - 090, 256 - 355
Destination Buffer ID 065 - 090, 256 - 355

The following paragraphs describe each entry in the Buffer Copy state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.
State Type
Valid Range: @G b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the buffer copy is successful.

Source Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Source Buffer ID is the ID of the buffer that contains data to be copied. This entry
should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use General
Purpose Buffer B, this entry must be set to 066.

Destination Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Destination Buffer ID is the ID of the buffer to which information is copied. This
entry should be set to the decimal ASCII value of the Buffer ID to be used. For example, to use
General Purpose Buffer B, this entry must be set to 066.

EXAMPLE

Refer to the following example of a Buffer Copy state.

Entry Value
State Number 100
State Type @G b
Good Operation Next State 150
Source Buffer ID 065
Destination Buffer ID 066

This example state directs the terminal to do the following:

 Define the state number as 100.


 Exit to state 150 after the buffer is copied.
 The Source Buffer ID is A.
 The Destination Buffer ID is B.

5.5.20 Check Buffer State (@Hb)

The format of the Check Buffer state table is shown in Table 5-50. The Check Buffer state data
directs the terminal to check a buffer for a match with the values contained in the state data. The
terminal then goes to another state depending on whether the value in the buffer was less than,
equal to, or greater than the value(s) in the state data.
NOTE

The last value in the state data is compared to the value contained in the buffer position
indicated by the Least Significant Byte From End entry. The values preceding the last value
in the state data are compared to more significant bytes in the buffer (bytes to the left of the
Least Significant Byte from End buffer position).

Table 5-50 Check Buffer State Format


Entry Valid Range
State Number Valid state numbers
State Type @H b
Compare Mode 001 - 002
Buffer Data Less Than State Data Next State Valid state numbers
Buffer Data Equal To State Data Next State Valid state numbers
Buffer Data Greater Than State Data Next State Valid state numbers
Buffer ID 065 - 090, 256 - 355
Least Significant Byte From End 001 - 255
Value 000 - 255
Value 000 - 255
• •
• •
• •
Value 000 - 255

The following paragraphs describe each entry in the Check Buffer state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @H b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Compare Mode
Valid Range: 001 and 002
Description: When the Check Buffer state compares its values with the data bytes in the buffer, the
state starts the compare operation a specified number of bytes from the last byte in the buffer. The
starting byte in the buffer is specified by the Least Significant Byte from End entry. The state
compares the buffer bytes to the left of the starting byte with the bytes (values) specified in the
state.
If the buffer contains more data bytes than the state, the state compares only the number of bytes
specified by the state. If the buffer contains fewer data bytes than the state, the state pads the
buffer temporarily to equalize the number of bytes.

Compare Mode entry 001 pads the buffer with ASCII NULL characters (hex 00). Compare Mode
entry 002 pads the buffer with ASCII 0 characters (hex 30). In the following examples, assume the
following conditions:

 The Least Significant Byte from End entry is 003


 The buffer contains ASCII 00XX (XX represents the last two bytes in the buffer. These
bytes are ignored in the compare operation because of the Least Significant Byte From End
entry)
 The state data values are ASCII 000

Compare Mode entry 001 pads the buffer to look like NULL00XX. The NULL is compared to the
state data's most significant ASCII 0, and the buffer would be declared Less Than.

Compare Mode entry 002 pads the buffer to look like 000XX. The ASCII 0 is compared to the state
data's most significant ASCII 0, and the buffer would be declared Equal To.

Compare Mode entry 001 should be used for ASCII chart-ranking-type compare operations, and
Compare Mode entry 002 should be used for true numeric compare operations. The Compare
Mode padding is done for compare purposes only. The padding does not change the physical
length of the buffer data.

Buffer Data Less Than State Data Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry identifies the exit state to which the terminal goes when the values in the
buffer are less than the values in the state.

Buffer Data Equal To State Data Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry identifies the exit state to which the terminal goes when the values in the
buffer are equal to the values in the state.

Buffer Data Greater Than State Data Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry identifies the exit state to which the terminal goes when the values in the
buffer are greater than the values in the state.

Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies a buffer.

Least Significant Byte From End


Valid Range: 001 through 255
Description: The Least Significant Byte From End identifies the position in the buffer at which to
begin comparing values. The least significant byte is counted from the last byte in the buffer.
A value of 001 in this entry represents the last (right-most) byte in the buffer. In a buffer with a
length of 255 bytes, a value of 255 in this entry represents the first (left-most) byte in the buffer.

Refer to Figure 5-6 for an example in which the least significant byte is defined as the third-to-last
byte because the value of the Least Significant Byte From End entry is 003.

Figure 5-6 Example Least Significant Byte From End Entry

Value
Valid Range: 000 through 255
Description: The Value entry contains the value to look for in a buffer. The value entered must be
the decimal equivalent of the ASCII Hex value. For example, 1 is entered as 049.

EXAMPLE

Refer to the following example of a Check Buffer state table.

Entry Value
State Number 100
State Type @H b
Compare Mode Refer to Section 5.5
Buffer Data Less Than State Data Next State 001
Buffer Data Equal To State Data Next State 002
Buffer Data Greater Than State Data Next State 003
Buffer ID 066
Least Significant Byte From End 003
Value 049

As shown in Figure 5-6, the terminal goes to the different Next State exits depending on the values
in buffer B (an X denotes a Do Not Care condition).

If buffer B contains 123, the least significant byte from the end is 1 and equals the value of 1 (049)
in the Value entry. The terminal takes the Buffer Data Equal to State data Next State exit.

If buffer B contains 321, the least significant byte from the end is 3 which is greater than the value
of 1 (049) in the Value entry. The terminal takes the Buffer Data Greater Than State Data Next
State exit.

If buffer B contains 012, the least significant byte from the end is 0 which is less than the value of 1
(049) in the Value entry. The terminal takes the Buffer Data Less Than State Data Next State exit.

5.5.21 Transaction Request State (@Ib)

The Transaction Request state directs the terminal to build a Consumer Request message, and
then sends the message to the network. Specifically, the state data identifies the following
information:

 The buffers to send in the Consumer Request message


 The amount of time the terminal waits for the network's response message
 The state the terminal goes to if the network does not respond within the specified time

Agilis 3 91x SP2 supports a format 0 Transaction Request state. The format 0 Transaction Request
state generates a format 0 Consumer Request message (Section 6.1). The format 0 Consumer
Request message is the same as the Consumer Request message generated by the 9000-style
Transaction Request state.

Table 5-51 shows the format 0 Transaction Request state table.

Table 5-51 Transaction Request State Format (format 0)


Entry Valid Range
State Number Valid state numbers
State Type @I b
Screen Number Valid screen numbers
Network Response Time 000 - 255, 900 - 931, 999
Network Response Timeout Next State Valid state numbers
Format Indicator 000 - 001
Send Track 2 Data 000 - 001
Send Track 1, Track 3, and/or MICR Data 000 - 007
Send Function Key Buffer Data 000 - 001
Send Dollar Buffer Data 000 - 001
Send PIN Data 000 - 001
Send General Purpose Buffer B/C Data 000 - 003
[1]
Reserved Valid state numbers, 255
[1]
Reserved Valid state numbers, 255
[1]
Reserved Valid state numbers, 255
[2]
Buffer ID 065 - 090, 256 - 355
[1]
This set of three Reserved entries is optional. If these entries are included then they must all
three be present as a group.
[2]
The Buffer ID entry is an optional entry. If this entry is used, the three Reserved entries must be
included in the state data. The Buffer ID entry can be repeated, as needed, for multiple buffers.

The following paragraphs describe each entry in the format 0 Transaction Request state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @I b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal enters the state. The valid values for this entry are as
follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Network Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Network Response Time entry defines the amount of time that the terminal waits
for the network's response message to the Consumer Request message. The valid values for this
entry are as follows:
 000 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931 (defined by silent time entry only)
 999 - Wait forever

Refer to Section 5.15 for additional timer information.

If this time expires before the network responds, the terminal goes to the exit state identified by the
Network Response Timeout Next State entry.

Network Response Timeout Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Response Timeout Next State entry identifies the exit state to which the
terminal goes when the network does not respond to a terminal Consumer Request message within
the specified time (Network Response Time entry).

Format Indicator
Valid Range: 000 and 001
Description: This entry indicates the format of the message. The valid values are as follows:
 000 - Format 0
 001 - Format 1 (reserved for future use)

Send Track 2 Data


Valid Range: 000 and 001
Description: The Send Track 2 Data entry indicates whether track 2 data should be sent in the
Consumer Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

Send Track 1, Track 3, and/or MICR Data


Valid Range: 000 through 007
Description: This entry specifies whether track 1 data, track 3 data, MICR data, or some
combination of this data is sent to the network. The valid values are as follows:
 000 - No additional tracks or MICR
 001 - Send track 3 only
 002 - Send track 1 only
 003 - Send track 1 and 3
 004 - Send MICR only
 005 - Send MICR and track 3
 006 - Send MICR and track 1
 007 - Send MICR and tracks 1 and 3

Send Function Key Buffer Data


Valid Range: 000 and 001
Description: This entry indicates whether the Function Key Buffer data should be sent in the
Consumer Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

Send Dollar Buffer Data


Valid Range: 000 and 001
Description: This entry indicates whether the Dollar Buffer data should be sent in the Consumer
Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

Send PIN Data


Valid Range: 000 and 001
Description: This entry indicates whether the consumer-entered PIN should be sent in the
Consumer Request message. The valid values are as follows:
 000 - Do not send data
 001 - Send data

If the PIN data is included in the message, the PIN is in encrypted form, based on the applicable
FIT entry.

Send General Purpose Buffers B and/or C Data


Valid Range: 000 through 003
Description: This entry indicates whether General Purpose Buffer B data, General Purpose Buffer
C data, or both should be sent in the Consumer Request message. The valid values are as follows:
 000 - Do not send data from either buffer
 001 - Send General Purpose Buffer B data only
 002 - Send General Purpose Buffer C data only
 003 - Send General Purpose Buffers B and C data

NOTE

The next three entries are optional. However, if these entries are included then they must all
three be present as a group.

Reserved (3 entries)
Valid Range: Valid state numbers (Section 5.3.1), 255
Description: These three entries are reserved for future use.

NOTE

The following entry (Buffer ID) is optional. If this entry is used, the preceding three reserved
entries must be included in the state data.

Buffer ID
Valid Range: 065 through 090, and 256 through 355
Description: The Buffer ID entry indicates the ID of the buffer to be sent. This entry can be
repeated as needed if multiple buffers need to be sent.

EXAMPLE

Refer to the following example of a format 0 Transaction Request state.

Entry Value
State Number 150
State Type @I b
Screen Number 200
Network Response Time 030
Network Response Timeout Next State 300
Format Indicator 000
Send Track 2 Data 001
Send Track 1, Track 3, and/or MICR Data 001
Send Function Key Buffer Data 001
Send Dollar Buffer Data 001
Send PIN Data 001
Send General Purpose Buffers B and/or C Data 001

This example state directs the terminal to do the following:

 Define the state number as 150


 Show screen 200 upon entering the state (usually a screen that asks the consumer to
please wait)
 Send the following information to the network:
o Track 2 data
o Track 1 and 3 data
o Function Key data
o Dollar Buffer data
o Consumer-entered PIN
o General Purpose Buffer B data
 Wait 30 seconds for the network's response message
 Exit to state number 300 if the network does not respond within 30 seconds

If the terminal receives the network message within the 30-second time limit, it performs any
function commanded by the network and then exits to the Good Operation Next State identified in
the network message.

5.5.22 Indirect Next State (@Kb)


The format of the Indirect Next state table is shown in Table 5-52. The Indirect Next state data
directs the terminal to go to alternate states based on matching a value in a buffer or the value of
the PSTDX entry from the consumer's associated FIT entry. Refer to the Data Security Procedures
and Reference Manual (TP-799530-001E) for a detailed description of the PSTDX entry in the FIT.

A maximum of 100 Next State entries can be defined in this state. If more than 100 Next State
entries are defined, only the first 100 are used.

If the Buffer ID entry contains a value of 000, the terminal compares the values in the state data to
the PSTDX entry. Since the Buffer ID entry can also contain any valid buffer ID, the terminal can
also use this state as a limited Check Buffer state.

If no match is found between the values in the state data and the PSTDX value or the buffer value,
the terminal goes to the Network Fault Next State exit. A no match condition usually occurs
because the state does not contain enough comparison values.

NOTE

The terminal requires that the state data contain all the Next State entries up to, and
including, the Next State for the final desired matching value. Intermediate entries cannot be
skipped. For example, if the desired matching value is 10 and matching values 01 through 09
are not used, the Next State if Value entries for 01 through 09 must be included in the state
data.

Table 5-52 Indirect Next State Format


Entry Valid Range
State Number Valid state numbers
State Type @K b
Buffer ID 000, 065 - 090, 256 - 355
Network Fault Next State Valid state numbers
Next State if Value = 00 Valid state numbers
Next State if Value = 01 Valid state numbers
• •
• •
• •
Next State if Value = 99 Valid state numbers

The following paragraphs describe each entry in the Indirect Next state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @K b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Buffer ID
Valid Range: 000, 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies the buffer to be matched. If the Buffer ID entry is 000,
then the terminal reads the value from the PSTDX FIT entry.

Network Fault Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Network Fault Next State entry identifies the exit state to which the terminal goes
when the operation specified by the state fails because of a network fault.

Next State if Value = XX


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Next State If Value = xx entry identifies an exit state to which the terminal goes
based on matching the value of the two most significant bytes in a buffer (or the value of the
PSTDX entry in FIT) with the value contained in the entry (xx).

When buffer data is compared to state data values, the terminal uses the values in the first two
buffer positions (most significant bytes) to match the state data values as follows:

NOTE

The data in each buffer byte must be in the range of ASCII 0 through ASCII 9 ( :30 through
:39). If either byte is outside this range, the terminal takes the Network Fault Next State exit.

Buffer Byte 1 Buffer Byte 2 Equivalent State Value to Match


30 & 30 = 00
30 & 31 = 01
30 & 32 = 02
• • •
• • •
• • •
39 & 38 = 98
39 & 39 = 99

If the buffer is defined as one byte long, the terminal uses only that byte to match the state data
values as follows:

NOTE

The data in the buffer byte must be in the range of ASCII 0 through ASCII 9 (hex 30 through
hex 39). If the byte is outside this range, the terminal takes the Network Fault Next State exit.

Buffer Byte Equivalent State Value to Match


30 = 00
31 = 01
• • •
• • •
• • •
38 = 08
39 = 09

When the buffer is one byte long, a maximum of 10 alternate Next State entries can be defined in
the state. If more than 10 states are defined, only the first 10 are used.

The value of the PSTDX entry might be limited in some FIT systems. Therefore, when a PSTDX
entry is compared to the state data values, the maximum number of alternate Next State entries is
equal to the range of PSTDX values in the FIT. If more than the maximum are defined, only the
values up to and including the maximum are used.

EXAMPLE

Refer to the following example of an Indirect Next state table.

Entry Value
State Number 080
State Type @K b
Buffer ID 000
Network Fault Next State 010
Next State if Value = 00 100
Next State if Value = 01 200
Next State if Value = 02 300
Next State if Value = 03 400

This example state directs the terminal to do the following:

 Define the state number as 080


 Read the value of PSTDX in FIT (Buffer ID is 000)
 Exit to one of the following state numbers:
o 010 if the PSTDX entry does not equal any of the values listed in the state data
o 100 if the PSTDX entry equals 00
o 200 if the PSTDX entry equals 01
o 300 if the PSTDX entry equals 02
o 400 if the PSTDX entry equals 03

5.5.23 Create Buffer State (@Lb)


The format of the Create Buffer state table is shown in Table 5-53. The Create Buffer state data
directs the terminal to create the buffer specified by the Buffer ID entry and to fill the buffer with the
data specified in the Value byte entries. A maximum of 38 Value byte entries can be defined in this
state. If more than 38 Value bytes are defined, only the first 38 are used.

NOTE

The terminal enters the first value in the state data into the Most Significant Byte buffer
position (first or left-most buffer position). The terminal enters the remaining values, in
succession, into the buffer positions to the right of the Most Significant Byte.

The following list defines some of the uses for the Create Buffer state:

 Filling a buffer with a numerical amount associated with a single-key amount selection
 Deleting an existing buffer by creating it again with no data defined in the state's Value byte
entries
 Clearing a buffer
 Initializing a buffer to a given length with specific data
Table 5-53 Create Buffer State Format
Entry Valid Range
State Number Valid state numbers
State Type @L b
Good Operation Next State Valid state numbers
Buffer ID 065 - 090, 256 - 355
Value 000 - 255
Value 000 - 255
• •
• •
(38 entries maximum) •
• •
• •
Value 000 - 255

The following paragraphs describe each entry in the Create Buffer state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @L b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.
Good Operation Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes once the buffer is created.

Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies the buffer being created.

Value
Valid Range: 000 through 255
Description: This entry contains the value to place in a buffer.

EXAMPLE

Refer to the following example of a Create Buffer state table.

Entry Value
State Number 027
State Type @L b
Good Operation Next State 028
Buffer ID 074
Value 084
Value 072
Value 073
Value 083
Value 032
Value 073
Value 083
Value 032
Value 074

This example state directs the terminal to do the following:

 Define the state number as 027


 Create buffer J
 Fill the buffer with the Value bytes shown
 Exit to state 028

5.5.24 Track Buffer Compare State (@Mb)

The format of the Track Buffer Compare state table is shown in Table 5-54. The Track Buffer
Compare state examines track data to define the terminal's personality for the current consumer.
The state provides conditional branching of the state table sequence and can change the index for
Indirect Next State processing.

Table 5-54 Track Buffer Compare State Format


Entry Valid Range
State Number Valid state numbers
State Type @M b
Match Next State Valid state numbers
No Match Next State Valid state numbers
Indirect Next State Index 000 - 255
Buffer ID/Delimiter 000 - 003, 016 - 019, 032 - 035
Delimiter Index 000 - 999
Match Character (first) 048 - 057, 063
Match Character (second) 048 - 057, 063
Match Character (third) 048 - 057, 063
Match Character (fourth) 048 - 057, 063
Match Character (fifth) 048 - 057, 063
Match Character (sixth) 048 - 057, 063

The following paragraphs describe each entry in the Track Buffer Compare state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @M b
Description: The State Type entry identifies the specific type of State data entries associated with
a particular state number. The State Type entry is considered part of the State data.

Match Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry specifies the state number of the exit to be taken if the data in the specified
buffer matches all six characters specified in the six Match Character entries.

No Match Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This entry specifies the state number of the exit to be taken if the data in the specified
buffer does not match all six characters specified in the six Match Character entries.

Indirect Next State Index


Valid Range: 000 through 255
Description: This entry specifies a new Indirect Next State index to be used for the current
transaction. The terminal converts this entry to a two-digit hexadecimal number. If the buffers
match, the most significant digit of the entry specifies the new index. If the buffers do not match, the
least significant digit of the entry specifies the new index. If the digit is from 0 to 7, this number is
the new Indirect Next state index. If the digit is F, the index is not changed from the value it had at
the start of this state.

Buffer ID/Delimiter
Valid Range: 000 through 003, 016 through 019, and 032 through 035
Description: When this entry is converted to hexadecimal, the first digit must be 0 through 2 and
the second 0 through 3. This entry specifies the track to examine for matching characters, along
with the position (in conjunction with the Delimiter Index) in the track.

The first hexadecimal digit specifies the track data buffer as follows:

 0 - Track 2
 1 - Track 3
 2 - Track 1

The second hexadecimal digit specifies a track delimiter and a direction for applying the offset in the
Delimiter Index as follows:

 0 - Start sentinel, count forward


 1 - First field separator, count forward
 2 - End sentinel, count backward
 3 - Last field separator, count forward

When the delimiter and direction is 2 (end sentinel; count backward), even though the offset is
counted backward from the end sentinel, the comparison proceeds forward from the offset. For
example, if the track data ends in ...123456789(e/s), where (e/s) represents the end sentinel, and
the delimiter index is 006, then the starting position in the track data is the character 3. The
character 3 in the track data is compared against the first Match Character entry, the character 4 is
compared against the second Match Character entry, and so on.

Delimiter Index
Valid Range: 000 through 999
Description: This entry specifies the number of characters to offset from the delimiter to locate the
data for comparing with the six Match Characters. The first character after the delimiter is offset
000.

Match Character
Valid Range: 048 through 057, and 063
Description: These entries specify the characters to compare with those in the track buffer.
Hexadecimal 3F (063) always matches any buffer character.

EXAMPLE

Refer to the following example of a Track Buffer Compare state table.


Entry Value
State Number 100
State Type @M b
Match Next State 050
No Match Next State 060
Indirect Next State Index 098
Buffer ID/Delimiter 016
Delimiter Index 010
Match Character (first) 049
Match Character (second) 048
Match Character (third) 056
Match Character (fourth) 052
Match Character (fifth) 053
Match Character (sixth) 051

This example state directs the terminal to do the following:

 Define the state number as 100.


 Exit to state number 050 if the data in the specified buffer matches all six match characters.
 Exit to state number 060 if the data in the specified buffer does not match all six match
characters.
 The Indirect Next State index is 098.
 Track 3 is used to examine for matching characters.
 The track delimiter is the start sentinel and the direction is count forward when applying the
offset in the Delimiter index entry.
 The number of characters to offset from the delimiter (refer to the two items immediately
preceding) to locate records for comparing with 6 match characters is 010.
 The six entries to compare with those in the track buffer are 049, 048, 056, 052, 053, and
051.

5.5.25 Buffer Shift State (@Nb)

The Buffer Shift state allows the user to shift or rotate the data in a buffer to the left or right. If
shifting, it shifts a user-supplied pad character into the buffer. The buffer size is not affected by this
state. The format of the Buffer Shift state table is shown in Table 5-55.

Table 5-55 Buffer Shift State Format


Entry Valid Range
State Number Valid state numbers
State Type @N b
Good Operation Next State Valid state numbers
Fault Operation Next State Valid state numbers
Buffer ID 065 - 090, 256 - 355
Operation to Perform 001 - 004
Number of Positions to Shift Valid range based on buffer length
Pad Character 000 - 255

The Buffer Shift state entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @N b
Description: This State Type identifies this state table as a Shift Buffer state.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the buffer shift is successful.

Fault Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Fault Operation Next State entry identifies the exit state to which the terminal
goes when the buffer shift is unsuccessful. Reasons for failure include illegal operation, illegal or
empty buffer, or number of positions to shift greater than buffer length.

Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID is the ID of the buffer containing data to be shifted. This entry should be
set to the decimal ASCII value of the Buffer ID to be used. For example, to use General Purpose
Buffer B, this entry must be set to 066.

Operation to Perform
Valid Range: 001 through 004
Description: The Operation to Perform entry tells the terminal which operation to perform during
the state. The valid values for the Shift Buffer state are as follows:
 001 - Shift data to the right.
 002 - Rotate data to the right.
 003 - Shift data to the left.
 004 - Rotate data to the left.

On a shift operation, the pad character is used to fill in the positions being shifted out of. On a rotate
operation, the character in the last buffer position is shifted into the first buffer position or vice versa
based on direction.
The overall buffer length of the buffer is not altered.

Number of Positions to Shift


Valid Range: No greater than buffer length
Description: The Number of Positions to Shift entry tells the terminal how far the data in the buffer
should be shifted.

Pad Character
Valid Range: 000 through 255
Description: The Pad Character entry contains the value to be placed into the buffer positions that
characters are shifted out of if a shift operation is being used. The value entered must be the
decimal equivalent of the ASCII Hex value. For example, 0 would be entered as 048.

5.5.26 Buffer Arithmetic State (@Ob)

The Buffer Arithmetic state adds or subtracts buffers. This state assumes that the buffers being
added or subtracted contain ASCII numeric characters 0 through 9. The result is also an ASCII
numeric buffer. The result buffer is unsigned, with the exit next state indicating a positive or
negative result. For subtraction, the Negative Result Next State is taken if Buffer 2 is larger than
Buffer 1. Otherwise, the Positive Result Next State is taken. In addition, the Positive Result Next
State exit is always taken.

The structure of the Buffer Arithmetic state is shown in Table 5-56.

Table 5-56 Buffer Arithmetic State Format


Entry Valid Range
State Number Valid state numbers
State Type @O b
Positive Result Next State Valid state numbers
Negative Result Next State Valid state numbers
Buffer 1 ID 065 - 090, 256 - 355
Buffer 2 ID 065 - 090, 256 - 355
Result Buffer ID 065 - 090, 256 - 355
Operation to Perform 000 - 001

The Buffer Arithmetic state entries are defined as follows:

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @O b
Description: This State Type identifies this state table as a Buffer Arithmetic state.
Positive Result Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state to go to for the addition operation. This exit is also taken for the subtraction
operation if the value contained in Buffer 1 is as large or larger than the value contained in Buffer 2.

Negative Result Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: This is the state to go to for the subtraction operation. This exit is only taken if the
value contained in Buffer 2 is larger than the value contained in Buffer 1.

Buffer 1 ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: This is the ID of the buffer that contains the value to be added to or subtracted from.

Buffer 2 ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: This entry contains the buffer ID of the buffer that contains the value to be added or
subtracted.

Result Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: This entry contains the buffer ID of the buffer to contain the result of the given
operation. This entry can be the same buffer ID as given in either Buffer 1 ID or Buffer 2 ID. The
length of this buffer is the length of the larger of the two source buffers. In the case of addition, the
buffer is one byte larger than the larger of the two source buffers if the result is larger because of a
carry on to the most significant place.

Operation to Perform
Valid Range: 000 and 001
Description: This entry identifies the operation to be performed with the specified buffers. The valid
values are as follows:
 000 - This value directs the terminal to add Buffer 1 and Buffer 2 and place the result in the
result buffer specified.
NOTE
If two 8-digit ASCII buffers are added, the result might need to be expanded to a 9-
digit ASCII buffer. The result buffer size is always at least as large as the larger of the
two buffers to be added.
 001 - This value directs the terminal to subtract Buffer 2 from Buffer 1. The result buffer
always contains the difference between the two buffers (a positive value). If the contents of
Buffer 2 is larger than Buffer 1, the Negative Result Next State path is taken. Otherwise, the
Positive Result Next State path is used. The result buffer is always the same length as the
longer of Buffers 1 and 2.

5.5.27 Copy Buffer Data State (@Pb)

The Copy Buffer Data state allows the user to copy all or part of one buffer into all or part of another
buffer. The data can be copied in either direction (left to right or right to left) thus enabling the user
to invert the data if they so desire. The user also can pad the unused portions of the destination
buffer with a leading and trailing pad character. The size of the destination buffer is not altered by
this state, unless the Append option is used (refer to the description of the Destination Buffer Offset
entry). The format of the Copy Buffer Data state table is shown in Table 5-57.

Table 5-57 Copy Buffer Data State Format


Entry Valid Range
State Number Valid state numbers
State Type @P b
Good Operation Next State Valid state numbers
Fault Operation Next State Valid state numbers
Source Buffer ID 065 - 090, 256 - 355
Source Direction 000, 001
Source Offset 000 - 255
Destination Buffer ID 065 - 090, 256 - 355
Destination Direction 000, 001
Destination Offset 000 - 255
Number of Bytes to Copy 000 - 255
Truncation Allowed 000, 001
Pad Enable 000 - 003
Leading Pad Character 000 - 255
Trailing Pad Character 000 - 255

The Copy Buffer Data state entries are defined as follows.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @P b
Description: This State Type identifies this state table as a Copy Buffer Data state.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the copy operation is successful.

Fault Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Fault Operation Next State entry identifies the exit state to which the terminal
goes when the copy operation is unsuccessful. Reasons for failure include specifying an illegal or
empty buffer, attempting to copy more data than there is available, and not enough space to copy
data into (if the Truncation Allowed entry indicates that truncation is not allowed).
Source Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Source Buffer ID entry specifies the buffer to use as the source buffer (the buffer
containing the data to be copied).

Source Buffer Direction


Valid Range: 000 and 001
Description: indicates how the data is to be copied from the source buffer. The valid values are as
follows:
 000 - Left to Right. Copy data from the source buffer starting from the left end of the buffer
and proceeding towards the right.
 001 - Right to Left. Copy data from the source buffer starting from the right end of the buffer
and proceeding towards the left.

Source Buffer Offset


Valid Range: 000 through 255
Description: The Source Buffer Offset entry indicates the position in the source buffer from which
to start copying data. The actual position in the buffer is dependent on the Source Buffer Direction
entry. When using a left to right direction, an offset of 0 indicates the left-most position in the buffer.
When using a right to left direction, an offset of 0 indicates the right-most position in the buffer.

NOTE

If the source buffer offset is greater than the length of the source buffer, no copying occurs,
and the terminal takes the Fault Operation Next State exit.

Destination Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Destination Buffer ID entry specifies the buffer to use as the destination buffer
(the buffer into which the data is to be copied).

Destination Buffer Direction


Valid Range: 000 and 001
Description: The Destination Buffer Direction entry indicates how the data is copied into the
destination buffer. The valid values are as follows:
 000 - Left to Right. Copy data into the destination buffer starting from the left end of the
buffer and proceeding towards the right.
 001 - Right to Left. Copy data into the destination buffer starting from the right end of the
buffer and proceeding towards the left.

Destination Buffer Offset


Valid Range: 000 through 255
Description: The Destination Buffer Offset entry indicates the position in the destination buffer to
start copying data to. The actual position in the buffer is dependent on the Destination Buffer
Direction entry. When using a left to right direction, an offset of 0 is the left-most position in the
buffer. When using a right to left direction, an offset of 0 is the right-most position in the buffer.

NOTE
If the destination buffer offset is greater than the length of the destination buffer (except as
noted for the Append option), no copying occurs, and the terminal takes the Fault Operation
Next State exit.

Append option. If the Destination Buffer Offset entry contains the value 255, the entire contents of
the source buffer is appended to the right end of the destination buffer, copying in a left to right
direction. The length of the destination buffer is automatically increased to accommodate the
number of bytes copied from the source buffer. Agilis 3 91x ignores the Source Buffer Offset entry,
the Number of Bytes to Copy entry, and the Destination Buffer Direction entry. The use of pad
characters is disabled.

Number of Bytes to Copy


Valid Range: 000 through 255
Description: The Number of Bytes to Copy entry indicates the number of bytes of data to copy
from the source buffer to the destination buffer. An entry of 000 the terminal to copy all source
buffer data from the specified source buffer offset to the end of the source buffer (left end or right
end, depending on the specified source buffer direction).

Truncation Allowed
Valid Range: 000 and 001
Description: The Truncation Allowed entry is used when the number of bytes specified in the
Number of Bytes to Copy entry exceeds either the amount of data available in the source buffer
(from the specified source buffer offset to the end of the buffer) or the amount of space available in
the destination buffer (from the specified destination buffer offset to the end of the buffer). The value
in this entry indicates whether to perform the copying using the data or space available. The valid
values are as follows:
 000 - Truncation is not allowed.
 001 - Truncation is allowed.

When truncation is allowed, if there is not enough data or not enough space to copy the number of
bytes specified, the terminal copies as much data as the actual data length and buffer length allow,
then takes the Good Operation Next State exit.

When truncation is not allowed, if there is not enough data or not enough space, the terminal does
not copy any data, and takes the Fault Operation Next State exit.

Pad Enable
Valid Range: 000 through 003
Description: The Pad Enable entry indicates whether to pad the data copied into the destination
buffer. The valid values are as follows:
 000 - Do not pad the data copied into the destination buffer.
 001 - Pad the leading portion of the buffer.
 002 - Pad the trailing portion of the buffer.
 003 - Pad both the leading and trailing portions of the buffer.

For a description of how padding is performed, refer to the description of the Leading Pad
Character entry and the Trailing Pad Character entry.

Leading Pad Character


Valid Range: 000 through 255
Description: The Leading Pad Character entry specifies the character to be used to fill the
destination buffer from offset 0 (based on the specified direction) up to, but not including, the
specified destination buffer offset. The value in this entry must be the decimal ASCII value of the
character. For example, to specify the character 0 as the pad character, the value in this entry
would be 048.

Trailing Pad Character


Valid Range: 000 through 255
Description: The Trailing Pad Character entry specifies the character to be used to fill the
destination buffer starting from, but not including, the last byte of copied data up to the end of the
buffer (based on the specified direction). The value in this entry must be the decimal ASCII value of
the character. For example, to specify the character 0 as the pad character, the value in this entry
would be 048.

5.5.28 Buffer Overlay State (@Qb)

The format of the Buffer Overlay state table is shown in Table 5-58. The Buffer Overlay state data
directs the terminal to copy the bytes in one existing buffer (overlay buffer) over the bytes in another
existing buffer (base buffer) starting at an offset value contained in the state data. The terminal then
exits to another state.

The Buffer Overlay state does not create any new buffers or alter the length of the existing buffers.
The Buffer Overlay state can only be used to overlay the data in one existing buffer with the data in
another existing buffer. If the base buffer is shorter than the overlay buffer, only those bytes overlaid
by the (longer) overlay buffer are changed in the base buffer.

The terminal enters the first byte of the overlay buffer into the base buffer position indicated by the
Most Significant Byte From Start entry. The terminal enters the remaining bytes until the entire
overlay buffer is copied into the base buffer or until the base buffer end is reached, whichever
happens first.

NOTE

To use the Buffer Overlay state, the network must either use buffers that already exist or
must define two buffers before using the state. The network defines buffers with Write
Command messages or Function Command messages (Section 6.4 and Section 6.5).

Table 5-58 Buffer Overlay State Format


Entry Valid Range
State Number Valid state numbers
State Type @Q b
Good Operation Next State Valid state numbers
Base Buffer ID 065 - 090, 256 - 355
Overlay Buffer ID 065 - 090, 256 - 355
Most Significant Byte From Start 001 - 255

The following paragraphs describe each entry in the Buffer Overlay state.
State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @Q b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes when the buffer overlay is complete.

Base Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Base Buffer ID is the ID of the buffer overwritten by the Overlay Buffer. This entry
is set to the decimal ASCII value of the Buffer ID to be used. For example, to use General Purpose
Buffer B, this entry must be set to 066.

Overlay Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Overlay Buffer ID is the ID of the buffer that overwrites the data in the Base
buffer. This entry should be set to the decimal ASCII value of the Buffer ID to be used. For example,
to use General Purpose Buffer B, this entry must be set to 066.

Most Significant Byte From Start


Valid Range: 001 through 255
Description: The Most Significant Byte From Start entry identifies the position in the buffer at which
to begin setting values. The most significant byte is counted from the first byte in the buffer.

A value of 001 in this entry represents the first (left-most) byte in the buffer. In a buffer with a length
of 255 bytes, a value of 255 in this entry represents the last (right-most) byte in the buffer.

Refer to Figure 5-7 for an example in which the most significant byte is defined as the fourth-from-
start byte because the value of the Most Significant Byte From Start entry is 004.

Figure 5-7 Example Most Significant Byte from Start Entry


EXAMPLE

Refer to the following example of a Buffer Overlay state table.

Entry Value
State Number 120
State Type @Q b
Good Operation Next State 001
Base Buffer ID 065
Overlay Buffer ID 066
Most Significant Byte From Start 001

This example state directs the terminal to do the following:

 Define the state number as 120


 Exit to state number 001 after overlaying the specified base buffer bytes
 Define the Base Buffer as Buffer A
 Define the Overlay Buffer as Buffer B
 Start the overlay at the first byte of the Base Buffer

The following illustration shows the contents of Buffer A before and after the terminal performs the
example Buffer Overlay state.

5.5.29 Voice State (@Vb)

The Voice state is used to turn the Voice feature on and off. Turning the Voice feature off
terminates any message in progress, purges any messages pending in the delay queue, and idles
the device. If the Voice feature is turned off by this state, the only way to turn the Voice feature back
on, without resetting the terminal, is to execute another Voice state with the enable flag set to 001.
The format of the Voice state is shown in Table 5-59.

Table 5-59 Voice State Format


Entry Valid Range
State Number Valid state numbers
State Type @V b
Prompting Enable Flag 000, 001
Next State Valid state numbers
Feedback Enable Flag 000, 001
Beeping/Voice Prompting Coordination Flag 000, 001

The following paragraphs describe each entry in the Voice state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @V b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Prompting Enable Flag


Valid Range: 000 through 001
Description: This entry is a flag to tell the terminal whether to enable or disable voice prompting.
The valid values are as follows:
 000 - Disables voice prompting
 001 - Enables voice prompting

Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state which is executed immediately following completion of the Voice state.

Feedback Enable Flag


Valid Range: 000 through 001
Description: This entry is a flag to tell the terminal whether to enable or disable voice keypad
feedback. The valid values are as follows:
 000 - Disables voice keypad feedback
 001 - Enables voice keypad feedback

Beeping/Voice Prompting Coordination Flag


Valid Range: 000 through 001
Description: This entry is a flag to tell the terminal how to coordinate voice prompting commands
and attention beeping. The valid values are as follows:
 000 - Voice prompting commands take precedence. Beeping is suppressed.
 001 - Voice prompting commands and beeping coexist. Both are heard.

5.5.30 Multi-tasking State (@Xb)


The format of the Multi-tasking state table is shown in Table 5-60. This state allows a transaction to
be started by a card read or a keypress. This is done by starting a Card Reader state (CR b) and an
Information Entry state (@D b) at the same time.

There are no Next State entries in the Multi-tasking state table. Agilis 3 91x uses the appropriate
Next State entry from the Card Reader state data or the Information Entry state data, depending on
which of those states completes first.

The Multi-tasking State will display the reserved screen 943 if either a card is inserted, read
conditions for the card are met and headphones are present, or a function key is pressed and
headphones are present. If screen 943 is displayed, the Multi-tasking State will continue if either the
consumer responds to the prompt screen, or a time-out occurs. The Multi-tasking State continues
its normal execution regardless of how screen 943 is dismissed and does not affect the next state
value taken.

Table 5-60 Multi-tasking State Format


Entry Valid Range
State Number Valid state numbers
State Type @X b
Screen Number Valid screen numbers
State #1 Valid state numbers
State #2 Valid state numbers

The following paragraphs describe each entry in the Multi-tasking state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @X b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal enters the state. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen
NOTE
With this state, there are three screen numbers that can be used: the screen number
in the @X state data, the screen number in state #1, or the screen number in state #2.
Only one of these three screen numbers should be non-zero. All three of these states
are being executed at the same time and there is only one consumer display.
Therefore, only one screen can be shown.

State #1
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number of an Information Entry state (@D) or Card Read state (CR) that is
to be executed.

State #2
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number of an Information Entry state (@D) or Card Read state (CR) that is
to be executed.

EXAMPLE

Refer to the following example of a Multi-tasking state table.

Entry Value
State Number 000
State Type @X b
Screen Number 000
State #1 461
State #2 462

This Multi-tasking state starts an Information Entry state (state 461) and a Card Reader state (state
462). The following table shows the state data for the example Information Entry state.

Entry Value
State Number 461
State Type @D b
Screen #1 011
Screen #2 000
Do You Want More Time? Enable 000
Timeout #1 999
Timeout #2 999
Timeout #1 Next State 000
Timeout #2 Next State 000
Format Template Number 000
Number of Keys 001
Numeric Key Buffer ID 065
Format Template Full Next State 255
Function Key Buffer ID 000
Function Key Buffer Byte 000
Function Key A Next State 520
Function Key B Next State 540
Function Key C Next State 560
Function Key D Next State 580

The following table shows the state data for the example Card Reader state.

Entry Value
State Number 462
State Type CR b
Unit Number 001
Operation 001
Screen Number 000
Consumer Response Time 999
Good Operation Next State 463
Consumer Fault Next State 464
Hardware Fault Next State 464
Network Fault Next State 464
Read Conditions (composite) 011

The Information Entry state waits for the consumer to press a function key (A, B, C, or D). The Card
Reader state waits for a card to be inserted and read (with or without a fault). If a function key is
pressed first, the terminal goes to the next state indicated in state 461. If a card is inserted and read
first, the terminal goes to state 463 (for a good read) or state 464 (for a bad read).

In this example, the terminal displays screen 011 when the Multi-tasking state executes. This
screen is specified by the Screen #1 entry in the Information Entry state. The Screen Number
entries in the Multi-tasking state and the Card Reader state are set to 000 to avoid conflicting with
the screen specified in the Information Entry state. Screen 011 would prompt the consumer to either
select a function (by pressing a function key) or insert a card.

5.5.31 Set Language Bank State (@Yb)

The Set Language Bank state selects the appropriate language bank to use for screen retrieval
when supporting the Multilingual feature. For more details on the Multilingual feature, refer to
Section 5.10.

Refer to Table 5-61 for the Set Language Bank state table format.

Table 5-61 Set Language Bank State Format


Entry Valid Range
State Number Valid state numbers
State Type @Y b
Next State Valid state numbers
Language Bank Number 000 - 255

The Set Language Bank state entries are defined as follows.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @Y b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Next State entry specifies the state table that the terminal processes after
establishing the Language Bank number.

Language Bank Number


Valid Range: 000 through 255
Description: The Language Bank number entry specifies the language bank to use for screens.

5.5.32 Close State (@Zb)

The format of the Close state table is shown in Table 5-62. The Close state data directs the terminal
to logically close all device tasks when the consumer is finished with the terminal. The Close state
must always be the last state of a transaction sequence.

The Close state should not be used to generate any device action or to return the consumer's card.
Use a Card Reader state to return the consumer's card before performing a Close state. Use a
Depositor state to retain or return a check or other document held in escrow in an IDM.

The Close state should never be used for anything except the last state in transaction sequence.
The execution of the Close state declares a consumer to be finished with the terminal and is,
therefore, essential in preparing the terminal for the next consumer.

Table 5-62 Close State Format


Entry Valid Range
State Number Valid state numbers
State Type @Z b
Good Operation Next State Valid state numbers

The following paragraphs describe each entry in the Close state.

State Number
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state number identifies a state table (a group of related state data entries). The
terminal executes a state table by providing the state data to the state processing routines.
Typically, a state number is specified by the preceding state or by a Function Command message.

State Type
Valid Range: @Z b
Description: The State Type entry identifies the specific type of state data entries associated with a
particular state number. The State Type entry is considered part of the state data.

Good Operation Next State


Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State entry identifies the exit state to which the terminal
goes once all device tasks are closed.

EXAMPLE

Refer to the following example of a Close state table.

Entry Valid Range


State Number 114
State Type @Z b
Good Operation Next State 000

This example state directs the terminal to do the following:

 Define the state number as 114


 Close all device tasks
 Go to state number 000

5.6 Write Command 2 Message (91x style screens/file data)

Two forms of configuration data are downloaded to the terminal using the Write Command 2
message - 91x style consumer display screen data and general file data.

The general file data delivered in a Write Command 2 message can be for any use at the terminal.
The data is saved to a file on the terminal, in the target location provided in the message. If the data
file has the .xml extension, it will be validated to assure it is well formed. Validation is performed on
the data received in the message.

The following steps describe how a data file is downloaded to the terminal:

 (Required Step) The beginning of the file is downloaded using the continuation flag value =
0. At the terminal, the file data is saved using the filename and path specified in the
message with the addition of the .tmp extension. If the file length is within the message
limits, the data for the entire file can be specified in this message.
 (Optional Step) If additional data needs to be sent for a file, a new message is sent
containing the additional data using the continuation flag value = 1. The same filename and
path must be specified that was used in Step 1. At the terminal, the temp file created for the
file and path name is also appended using the additional data contained in this message.
This step can be repeated any number of times depending on the length of the file.
 (Required Step) This represents the end of the file and uses the continuation flag value = 9.
The message can contain the remaining data for the file, or the data parameter can be left
empty if all the required data for the file was included in the message from step 1. At the
terminal, the temp file is appended and then validated to be well formed, if the extension of
the file is .xml. The message is rejected if the .xml file is not well formed. Finally the
temporary file is copied to the location using the original file and path specified.

All 91x style consumer display screens are assigned a three-digit number. The valid screen number
range is 000 through 254, 256 through 999, 0AA through 9ZZ, A00 through Z99 and AAA through
ZZZ. Screen numbers 000 through 009, and 900 through 950 are reserved for specific functions
defined in Section 5.9. Screens 010 through 899 and 951 through AZZ can be assigned to other
functions as required.

Normally, the 91x style screen number and data are downloaded to the terminal by using the Write
Command 2 message. However, the new screens can also be sent by the network in a Function
Command message. Unused screens do not need to be downloaded. The maximum message
length is 8192 characters.Table 5-63 shows the message format when used to download 91x style
consumer display screens, and Table 5-63 shows the message format used to download general
file data. The fields common to all Write Command messages are shaded. Only the fields specific to
the Write Command 2 message are described in these tables.

Table 5-63 Write Command 2 Message (91x style screens)


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) 1 1
Modifier (Screens) 1 1
[1]
Field Separator (FS) hex 1C 1
[1]
Screen Number --- 3
[1]
[ Language Bank Number ] [---] [ Variable ]
[1]
[ Voice prompting commands ] [---] [ Variable ]
[1]
[ Voice keypad feedback commands ] [---] [ Variable ]
[1]
[ Touch Template Data ] [---] [ Variable ]
[1]
[ Key Mapping Data ] [---] [ Variable ]
[1]
[ Screen Data ] [---] [ Variable ]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields (FS / Screen Number / Language Bank Number / Voice Commands / Touch
Template Data / Key Mapping Data / Screen Data) can be repeated, as necessary, to a maximum
of 8192 bytes per Write Command 2 message.

Configuration Data
The following paragraphs describe the fields that are specific to the Write Command 2 message for
91x style screens.

Screen Number
Field Size: 3 characters
Valid Range: Valid screen numbers (Section 5.6)
Description: This is a three-character field that identifies the screen number for the screen data
that follows.

Language Bank Number


Field Size: Variable
Valid Range: Refer to the description.
Description: This is a control sequence (ESC L control sequence) used to designate the correct
language bank when the Multilingual feature is used. If this field is not included, the default
language bank is used. For a description of the ESC L control sequence, refer to Section 5.7.18.
For information about the Multilingual feature, refer to Section 5.10.

Voice Prompting Commands


Field Size: Variable
Valid Range: Refer to the description.
Description: Voice prompting commands are special control sequences (ESC ; control sequences)
used to activate the audible prompting messages associated with a particular screen. For detailed
information about voice prompting commands, refer to Section 5.11.2.

Voice Keypad Feedback Commands


Field Size: Variable
Valid Range: Refer to the description.
Description: Voice keypad feedback commands are special control sequences (ESC ZH control
sequences) used to activate the audible keypad feedback messages associated with a particular
screen. For detailed information about voice keypad feedback commands, refer to Section 5.11.3.

Touch Template Data


Field Size: Variable
Valid Range: Refer to the description.
Description: Touch template data consists of one or more ESC ZD control sequences. These
control sequences define regions on the touch screen which correspond to active keypad keys. For
a description of the ESC ZD control sequence, refer to Section 5.7.30. For information about touch
screen programming, refer to Section 5.8.

Key Mapping Data


Field Size: Variable
Valid Range: Refer to the description.
Description: Key mapping data consists of one or more ESC ZX control sequences, an ESC ZW
control sequence, or both. The Key Mapping feature allows any keypad key (0 through 9, and A
through M) to be used as any function key (A through M). For detailed information about the Key
Mapping feature, refer to Section 5.12.

Screen Data
Field Size: Variable
Valid Range: ASCII characters
Description: The variable-length Screen Data field represents the data to be shown on the
consumer display. This field always follows a screen number entry.

NOTE

Screen Number, Language Bank Number, Voice commands, Touch Template Data, Key
Mapping Data, Screen Data, and field separator fields can be repeated as necessary to a
maximum of 8192 bytes (total message length).

Table 5-64 Write Command 2 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) 1 1
Modifier (Screens) 1 1
Field Separator (FS) hex 1C 1
Screen Number [---] 3
Group Separator Hex 1D 1
File Name and Path [---] [ Variable ]
Group Separator (GS) Hex 1D 1
Continuation Flag X 1
[1]
File Data [---] [ Variable ]
Protocol Dependent Trailer Variable Variable
[1]
This field can be up to a maximum of 8192 bytes per Write Command 2 message.

Configuration Data
The following paragraphs describe the fields that are specific to the Write Command 2 message for
file data.

Screen Number
Field Size: 3 characters
Valid Range: Valid screen numbers Section 5.6
Description: This is a three-character field that identifies the screen number for the screen data
that follows.

File Name and Path


Field Size: Variable
Valid Range: Only valid file and path name characters
Description: This field is the full path and file name of the file where the data should be saved.

Continuation Flag
Field Size: 1
Valid Range: 0, 1 or 9
Description: This field indicates whether the data being sent is the beginning of a file, the
continuation of a file, or the end of a file. A value of 0 causes the specified file to be created in a
temporary location. The value of 1 allows for appending data to the end of the temporary file,
created in a previous message using the continuation flag of 0. A value of 9 performs the same
function as 1, however it also checks the file to be well formed .xml, and then copies the contents of
the temporary file to the original filename and path specified. If the file has an .xml extension and is
not well formed, the message will be rejected by the terminal.

File Data
Field Size: Variable
Valid Range: Valid ASCII characters
Description: This field is data that will be saved into the specified file.

5.6.1 General Screen Information

The terminal stores the screen data only until the next power failure. The network must download all
appropriate screens after receiving a Power Failure Unsolicited Status message.

Display Grids for 91x Style Screens


State driven Agilis 3 91x supports the following display grid configurations for 91x style screens.
 40 columns by 20 rows (Figure 5-8)
 50 columns by 25 rows
 64 columns by 32 rows (Figure 5-9)

Figure 5-8 also shows how the function keys on Opteva terminals align with the 40-by-20 display
grid.

Figure 5-8 40-by-20 Display Grid


Figure 5-9 64-by-32 Display Grid
Displayable Characters
The terminal has the following sets of characters that can be displayed, stored in files:
 Standard characters
 Predefined icons

5.6.2 Standard Characters

Agilis 3 91x can show all the standard characters listed in Table 5-65. The character matrix for the
standard characters is 5 dots by 9 dots.

Table 5-65 Standard Character Set


Graphic ASCII (Hex) EBCDIC (Hex) Graphic ASCII (Hex) EBCDIC (Hex)
Space 20 40 @ 40 7C
[1]
! 21 4F A 41 C1
" 22 7F B 42 C2
# 23 7B C 43 C3
$ 24 5B D 44 C4
% 25 6C E 45 C5
& 26 50 F 46 C6
' 27 7D G 47 C7
( 28 4D H 48 C8
) 29 5D I 49 C9
* 2A 5C J 4A D1
+ 2B 4E K 4B D2
, 2C 6B L 4C D3
- 2D 60 M 4D D4
. 2E 4B N 4E D5
/ 2F 61 O 4F D6
0 30 F0 P 50 D7
1 31 F1 Q 51 D8
2 32 F2 R 52 D9
3 33 F3 S 53 E2
4 34 F4 T 54 E3
5 35 F5 U 55 E4
6 36 F6 V 56 E5
7 37 F7 W 57 E6
8 38 F8 X 58 E7
9 39 F9 Y 59 E8
: 3A 7A Z 5A E9
[1]
; 3B 5E [ 5B 4A
[1]
< 3C 4C \ 5C 6A
[1]
= 3D 7E ] 5D 5A
[1]
> 3E 6E ^ 5E 5F
? 3F 6F _ 5F 6D
7F 07

[1]
This cross-reference uses Diebold's implementation of EBCDIC. The characters noted differ from
the standard IBM EBCDIC characters.

5.7 Screen Control Sequences

Refer to Table 5-66 for a definition of each screen control sequence. These control sequences are
used to clear a screen, insert a screen, position the cursor, or display track 1 information at the
current cursor position.

Screen Delimiters
The field separator and the end of the message are screen delimiters. One of these two screen
delimiters must terminate each screen data field.

Normally, a field separator separates each screen data field in a Write Command 2 message. The
end of the message terminates the last screen data field in a Write Command 2 message.

Table 5-66 Screen Control Sequences


Control
[1]
Sequence ASCII Hex Description
BS 08 Moves the cursor back one position
CR 0D Moves the cursor to the first position in the current row
FF 0C Clears the screen and positions the cursor to position @,@ on the
display grid
HT 09 Causes the consumer's name encoded on track 1 of the consumer's
card to be shown on the consumer display, starting at the current
consumer display cursor position
LF 0A Moves the cursor to the current column in the next row
SI 0F Sets the cursor to the position specified by the two bytes following
SI. The first byte is the row, and the second byte is the column. Data
shown on the screen remains unchanged.
SO 0E Overlays the screen specified by the three bytes following SO.
Screen data can be nested or overlayed to five levels using SO.
US 1F Moves the cursor up one row in the current column
VT 0B Shows an alternate character on the consumer display. The byte
following VT specifies the alternate character.
ESC A 1B 41 Displays an animation sequence using icons
ESC B 1B 42 Shows the contents of a buffer, specified by the 1 byte following the
ESC B, on the consumer display. Valid values are A through Z.
ESC C 1B 43 Establishes colors for displaying text and predefined icons
ESC D 1B 44 Causes a delay whose length is specified by the 3 bytes following
ESC D
ESC F 1B 46 Specifies a font (character set) for the text that follows the control
sequence
ESC G 1B 47 Specifies a character set (font) and a display mode for the text that
follows the control sequence
ESC H 1B 48 Sets the foreground color for the text that follows the control
sequence. When you use ESC H, the background color is
transparent.
ESC I 1B 49 Inserts a specified screen into the current screen
ESC L 1B 4C Set Language Bank
ESC M 1B 4D Change resolution. Simulates a specified video resolution by scaling
text and icons.
ESC O 1B 4F Directs the terminal to load the DAC register with values from the
DAC file associated with DAC setup number nnn. Selects the
specified DAC.
ESC P 1B 50 Displays a specified icon
ESC Q 1B 51 Display the check image at the current cursor position. (terminals
equipped with an IDM only)
ESC R 1B 52 Repeats a specified character a specified number of times
ESC U 1B 55 Creates a specified background color or pattern in a specified
rectangle
ESC V 1B 56 Shows on the consumer display the contents of a buffer within the
constraints of a format template. The buffer is specified by the 3
bytes following the ESC V, the first byte specifies the buffer (A
through Z), the second and third specify the Format Template
number.
ESC X 1B 58 Allows you to position the cursor on the screen to a pixel position
identified by a unique pair of (X,Y) coordinates
ESC Y 1B 59 Allows you to select a special effect time in milliseconds
ESC ZA <SME: Need Causes the screen processor to skip over a specified number of
ASCII Hex characters following the escape sequence.
Value>
ESC ZC IB 5A 43 Selects a touch template to apply to the current screen
ESC ZD 1B 5A 44 Associates a keypad key with a specified touch region
ESC ZI 1B 5A 49 Displays the IN-button icon for a specified touch button
ESC ZO 1B 5A 4F Displays the OUT-button icon for a specified touch button
ESC ZU 1B 5A 55 22 Allows you to define screen windows that show MPEG movies,
"MPEGPlay" 4D 50 45 47 complete with sound (if the terminal is so equipped), from MPEG
50 6C 61 79 formatted files stored on a CD or hard disk.
22
ESC ZU "CO" 1B 5A 55 22 Allows data to be saved in dynamic data files for Campaign Office
43 4F 22
ESC ZV 1B 5A 56 Enables a web browser to display contents on the screen. The
browser window can coexist with non-browser screen output for a
“mixed-mode" effect, or it can be directed to fill the entire screen.
ESC < 1B 3C Provides a fade-out transition between screens from full view to a
black screen
ESC > 1B 3E Provides a fade-in transition between screens from a black screen to
a full view
ESC @ 1B 40 Displays the specified view of a deposited check. (terminals
equipped with an IDM only)
[1]
For the correspondence between ASCII values and Diebold's implementation of EBCDIC, refer to
Appendix A.

5.7.1 BS Control Character

The BS control character moves the cursor to the left by one column in the current row. If the cursor
is already at column @, the cursor wraps to the last column in the row above. If the cursor is at
column @, row @, the cursor wraps to the last column in the last row.

5.7.2 CR Control Character

The CR control character moves the cursor to column @ in the current row.

5.7.3 FF Control Character

The FF control character directs the terminal to clear the consumer display, enter cell mode, and
place the cursor at row @, column @. The character set is set to font 0, and the display mode is set
to 0.

5.7.4 HT Control Character

The HT control character inserts the name from track 1 of the consumer's card into the screen data
(up to 40 characters). The terminal displays the name starting at the current cursor position (current
row and column). At the end of HT processing, the cursor is placed one cell beyond the last buffer
character displayed.

NOTE

In order for the HT control sequence to function as described, the terminal must be equipped
with a card reader capable of reading track 1 of the magnetic stripe on the consumer's card,
and a name must be encoded on track 1 of the card.

Also, if track 1 is not successfully read, no name is shown on the consumer display.

Figure 5-10 is a sample screen that shows how HT can be used to display the name encoded on
track 1 of the consumer's card. Note that the cursor should be set to column @ to allow a maximum
length name (up to 40 characters) to be shown on the consumer display.

5.7.5 LF Control Character


The LF control character moves the cursor down one row in the current column. If the cursor is
already in the bottom row, the cursor wraps to the top row in the current column.

5.7.6 SI Control Sequence

The SI control sequence moves the cursor to a specified row and column. The format of the control
sequence is as follows:

SI I A

The terminal places the cursor at row I, column A.

The format used for showing a consumer display screen and positioning the consumer display
screen cursor is shown in Table 5-67. Any of the 20 rows can be selected by using a row select
character from @ through 3. Any of the 40 columns can be selected by using a column select
character @ through W. A sample screen created from the data in Table 5-67 is shown in Figure 5-
10.

Table 5-67 Example Screen 018 Data - Use of the HT Control Character
Graphic
Characters ASCII Hex Code Definition
FS 1C Field separator that acts as a screen delimiter for this
screen
018 30 31 38 Screen number (screen 018)
FF 0C Screen control character that clears screen and
positions cursor to the upper left hand corner
WELCOME 57 45 4C 43 4F 4D 45 Shows the graphic characters on the top row of the
screen
SI A @ 0F 41 40 Sets the cursor to the second row and the first column
HT 09 Shows the name encoded on track 1 (MR. BOB JONES
in this example), starting at the current cursor position
(row A and column @)
SI F @ 0F 46 40 Sets the cursor to row F, column @
PLEASE b 50 4C 45 41 53 45 20 Shows the graphic characters on row F
ENTER b YOUR 45 4E 54 45 52 20 59
4F 55 52
SI H @ 0F 48 40 Sets the cursor to row H, column @
PERSONAL b ID 50 45 52 53 4F 4E 41 Shows the graphic characters on row H
4C 20 49 44
SI C B 0F 43 42 Sets the cursor to row C, column B. This is where the
cursor is positioned at the beginning of the X display
area

Figure 5-10 Example Screen 018 - Use of the HT Control Character


Table 5-68 Example Screen 016 Data - Use of the FF and SI Control Sequences
Graphic
Characters ASCII Hex Code Definition
FS 1C Field separator that acts as a screen
delimiter for this screen
016 30 31 36 Screen number (screen 016)
FF 0C Screen control character that clears
screen and positions cursor to the
upper left hand corner
SELECT b THE b 53 45 4C 45 43 54 20 54 48 45 20 57 Shows the graphic characters on the
WAY b 41 59 20 59 4F 55 20 57 41 4E 54 20 top row of the screen
YOU b WANT b 54 4F 20 4D 41 4B 45
TO b MAKE
SI A @ 0F 41 40 Sets the cursor to the second row and
the first column
YOUR b CREDIT 59 4F 55 52 20 43 52 45 44 49 54 20 Shows the graphic characters on the
b CARD b 43 41 52 44 20 50 41 59 4D 45 4E 54 second row of the screen
PAYMENT
SI I I 0F 49 49 Sets the cursor to row I, column I
FROM b 46 52 4F 4D 20 43 48 45 43 4B 49 4E Shows the graphic characters on row I
CHECKING b 47 20 41 43 43 4F 55 4E 54 2E 2E 2E
ACCOUNT .......... 2E 2E 2E 2E 2E 2E 2E
SI L I 0F 4C 49 Sets the cursor to row L column I
FROM b 46 52 4F 4D 20 53 41 56 49 4E 47 53 Shows the graphic characters on row L
SAVINGS b 20 41 43 43 4F 55 4E 54 2E 2E 2E 2E
ACCOUNT 2E 2E 2E 2E 2E 2E 2E
...........
SI O I 0F 4F 49 Sets the cursor to row O column I
PAYMENT b 50 41 59 4D 45 4E 54 20 45 E4 43 4C Shows the graphic characters on row O
ENCLOSED b 4F 53 45 44 20 49 4E 20 45 4E 56 45
IN b ENVELOPE 4C 4F 50 45 2E 2E 2E
...

Figure 5-11 Example Screen 016 - Use of the FF and SI Control Sequences

5.7.7 SO Control Sequence

The SO control sequence inserts a specified screen into the current screen. The format of the
control sequence is as follows:

SO nnn
SO operates the same as the ESC I control sequence.

A sample screen using the SO control sequence to pick up the first screen and overlay parts of it to
create a new screen is shown in Figure 5-12 and in Table 5-68. Note that both screens are
assigned a unique screen number.

The network uses the SO control sequence to call another screen. This technique is called nesting.
Nesting is accomplished by placing the SO character followed by a three-digit screen number within
a current screen.

Agilis 3 91x processes only the first five levels of nesting. If the fifth level contained an SO control
sequence, the terminal would ignore it because it would exceed the nesting limit.

When nested screens are used, the maximum number of characters per screen is as follows:

 Screen #1: 600 characters


 Screens #s 2 through 6: 310 characters each

The total number of characters for all six screens can be no more than 1,800 characters.

Table 5-69 Example Screen 017 Data - Use of the SO Control Sequence
Graphic Characters ASCII Hex Code Definition
FS 1C Field separator that acts as a screen
delimiter for this screen
017 30 31 37 Screen number (screen 017)
SO 016 0E 30 31 36 Picks up the screen data specified for
screen 016
SI A E 0F 41 45 Sets the cursor to the start of the data
area to be overlayed (row A, column E)
MORTGAGE b LOAN 4D 4F 52 54 47 41 47 45 20 4C Data to replace CREDIT CARD
b PAYMENT 4F 41 4E 20 50 41 59 4D 45 4E PAYMENT on screen 016
54

Figure 5-12 Example Screen 017 - Use of the SO Control Sequence


5.7.8 US Control Character

The US control character moves the cursor up one row in the current column. If the cursor is
already in the top row, the cursor wraps to the bottom row in the same column.

5.7.9 VT Control Sequence

The VT control sequence is used to represent character numbers outside the core range used by
legacy systems (decimal 32 through 95). The format of the control sequence is as follows:

VT c

The terminal translates character c to a replacement character (alternate character), and displays
the replacement character at the current cursor position. The cursor position is incremented to the
next character position.

Character translations are configurable for each font assigned in the ACU. Agilis 3 91x provides an
initial set of character translations for each of the initial character set assignments (Section 5.7.14
and Section 5.7.15).

5.7.10 ESC A - Icon Animation


The ESC A control sequence displays an animation sequence using icons. The format of the control
sequence is as follows:

ESC A nnn s ttt

The terminal displays an animation sequence using sequentially numbered icons, numbered from
nnn to (nnn + s). The terminal places the upper left corner of each icon at the current cursor
position. The parameter ttt determines how fast the animation moves. The animation sequence
repeats until the terminal processes an FF or ESC M control sequence.

The valid range for nnn is 000 through 999.

The valid values for s are 1 to 9.

The valid values for ttt (animation rate) are 000 to 999 (decimal). The animation rate is computed as
follows. When ttt is between 000 and 255, the rate equals ttt times 0.8 seconds. Thus, if ttt equals
002, each icon is displayed for 002 x 0.8, or 1.6 seconds. When ttt is between 256 and 999, the
rate equals (ttt - 255) times 0.1 second. Thus, if ttt equals 256, each icon is displayed for (256 - 255)
x 0.1, or 0.1 second.

ESC A does not change the cursor position.

Agilis 3 91x includes several animation sequences as part of the set of predefined icons (Table 5-
70), all of which are shown in Section D.4.

Table 5-70 Icon Animation Sets


Icon Numbers Animation Value of s
001 - 003 Insert card (large) 2
004 - 008 Insert card (small) 4
009 - 011 Swipe card (large) 2
012 - 016 Swipe card (small) 4
018 - 020 Enter PIN 2
023 - 026 Select transaction (right key) 3
027 - 030 Select transaction (left key) 3
049 - 052 Insert envelope 3
056 - 060 Take cash 4
062 - 064 Take card (large) 2
066 - 070 Take card (small) 4
071 - 073 Take receipt 2

The following screen data directs the terminal to display the message PLEASE TAKE CARD and
the Take Card animation sequence (icons 062, 063, and 064).

FF
SI C B
PLEASE
b TAKE
b CARD
ESC A 062 2 259

The parameter ttt for the ESC A equals 259, therefore the animation rate is (259 - 255) x 0.1
second, or 0.4 seconds. At the start, icon 062 appears with the message (Figure 5-13). At the end
of 0.4 seconds, icon 063 appears and, 0.8 seconds after the start, icon 064 appears. At the end of
1.2 seconds, icon 062 appears again, and the sequence repeats.

Figure 5-13 Animation (ESC A Example)


5.7.11 ESC B - Display Buffer Contents

The ESC B control sequence displays contents of a buffer. The format of the control sequence is as
follows:

ESC B b
Where the valid values for b are A through Z, or as follows:

ESC B nnn

Where the valid values for nnn are 256 through 355.

The terminal displays the contents of buffer b or buffer nnn (as applicable) starting at the current
cursor position (current row and column). The buffer contents are displayed using the currently
selected font, font size, colors, and row size. At the end of ESC B processing, the cursor is placed
one cell beyond the last buffer character displayed.

5.7.12 ESC C - Select Colors

The ESC C control sequence establishes colors for displaying text and predefined icons. The format
of the control sequence is as follows:

ESC C b f

The terminal displays subsequent text and predefined icons in color f (the foreground color) against
a background of color b (the background color). The valid values for b and f are hexadecimal digits
0 through F. The actual colors corresponding to b and f depend on the current DAC. For the colors
available with the default DAC (DAC000.DAT), refer to Section D.5.

ESC C does not affect the color of custom icons.

ESC C does not change the color of text and icons already displayed.

The background and foreground colors remain in effect until changed by another ESC C or by
entering the Maintenance mode (Maintenance mode sets the foreground color to white and the
background color to black).

RGB Format
The background and foreground colors can be specified using red, green, and blue color values
instead of DAC-dependent color numbers. The format of the control sequence is as follows:
ESC C Z aaa bbb ccc ddd eee fff

The letter Z indicates that this instance of the ESC C control sequence uses the RGB format. The
parameters for this format are defined as follows:

 aaa - Red value of the background color


 bbb - Green value of the background color
 ccc - Blue value of the background color
 ddd - Red value of the foreground color
 eee - Green value of the foreground color
 fff - Blue value of the foreground color

The valid range for each parameter is 000 through 255.

EXAMPLE
In this example, the terminal establishes cyan (000 168 168) as the background color and bright red
(252 084 084) as the foreground color.

ESC C Z 000 168 168 252 084 084

5.7.13 ESC D - Animation Delay

The ESC D control sequence delays screen processing for a specified amount of time. The format
of the control sequence is as follows:

ESC D ttt

The terminal delays screen processing for the time specified by the parameter ttt. The valid values
for ttt are 000 to 999 (decimal). The amount of time is computed as follows. When ttt is between
000 and 255, the time equals ttt times 0.8 seconds. Thus, if ttt equals 002, processing is delayed
for 002 x 0.8, or 1.6 seconds. When ttt is between 256 and 999, the time equals (ttt - 255) times 0.1
second. Thus, if ttt equals 256, processing is delayed for (256 - 255) x 0.1, or 0.1 second.

EXAMPLE

In this example, the terminal displays the Take Card animation sequence that moves in the direction
of the receipt slot (Figure 5-14).

In this example, the terminal displays the Take Card animation sequence that shows a hand
removing a card from the card slot (Figure 5-14).

Screen 100 contains the following screen data.

FF
SI C B
PLEASE
b TAKE
b CARD
SI H C
ESC P 062 0

ESC D 001
ESC P 063 0

ESC D 001
ESC P 064 0

The appearance of movement is achieved by displaying the hand taking the card in three
consecutive positions. The terminal displays the message PLEASE TAKE CARD and then the Take
Card animation sequence.

NOTE

If you use a value less than 004 for ESC D, screen processing might interfere with other
terminal tasks and slow down overall terminal operation. Usually this is only significant
when using looping animation sequences during a consumer transaction.

Figure 5-14 Animation (ESC D Example)


5.7.14 ESC F - Select Font

The ESC F control sequence specifies a font (character set) for the text that follows the control
sequence. The format of the control sequence is as follows:

ESC F f d

The terminal displays subsequent text using character set f and display mode d. The valid values
for f are 0 through 7, E, F, G, and @. The character set corresponding to f depends on the
character set assignments made in the ACU (except as noted for the initial character set
assignments, below).

The valid values for d are as follows:

 0 - Normal video
 1 - Blinking video
 2 - Inverse video
 3 - Blinking inverse video

ESC F does not affect the text already displayed.

The ESC F settings remain in effect until changed by another ESC F, or by an ESC G, ESC M, or
FF control sequence. Also, the display mode can be changed by the ESC P control sequence.

Initial Character Set Assignments. Agilis 3 91x provides some initial character set assignments.
These initial assignments are in effect only until they are overridden by user-defined assignments in
the ACU. The initial assignments are as follows:

 0 - Arial (1-by-1; that is, each character occupies a space that is one column wide and one
row high)
 1 - Sans Serif (2-by-2). If Sans Serif is not available, then Arial Unicode MS is used.
 2 - MS Serif (2-by-2)
 3 - Arial Rounded MT Bold (2-by-2)
 E - Tahoma (1-by-1), with Unicode replacements for Thai
 @ - Courier New (1-by-1), with every character replaced by a space

Fontname Formats
In addition, Agilis 3 91x allows ESC F to be used to directly select any TrueType font currently
installed on the Windows operating system. The format of the control sequence for this use is as
follows:
ESC F "fontname" ppp

The font name is shown in double quotes and ppp is the desired point size of the font.

Agilis 3 91x terminals can use the ESC F control sequence to specify the type of encoding to be
used (UTF-7 or UTF-8). To specify the type of encoding, the following format is used:

ESC F "fontname" eeeeee ppp

The parameter eeeeee is an optional parameter that specifies the type of encoding. The valid
values for eeeeee are UTF007 (UTF-7) and UTF008 (UTF-8). If the parameter eeeeee is omitted,
the encoding type reverts to UTF-7 (the default encoding type).

EXAMPLE

UTF-8 encoding can be used to display the franc symbol ( €£ ) as part of the text on a screen. The
UTF-8 encoding of the franc symbol consists of three hexadecimal bytes (E2 82 A3), which must be
embedded as raw hexadecimal data in the screen data. Consider the following example screen
data:

ESC F "Courier New" UTF008 048


FRANC: xyz

Where the byte x has the hexadecimal value E2, the byte y has the hexadecimal value 82, and the
byte z has the hexadecimal value A3. This screen data would result in the following text being
displayed on the screen:

FRANC: €£

5.7.15 ESC G - Select Character Set and Display Mode

The ESC G control sequence specifies a character set for the text that follows the control sequence.
The format of the control sequence is as follows:

ESC G f d

The terminal displays subsequent text using character set f and display mode d. The valid values
for f are 0 through 7, E, F, G, and @. The character set corresponding to f depends on the
character set assignments made in the ACU (except as noted for the initial character set
assignments, below).

The valid values for d are as follows:

 0 - Normal video
 1 - Blinking video
 2 - Inverse video
 3 - Blinking inverse video

ESC G does not affect the text already displayed.

The ESC G settings remain in effect until changed by another ESC G, or by an ESC F, ESC M, or
FF control sequence. Also, the display mode can be changed by the ESC P control sequence.

Initial Character Set Assignments. Agilis 3 91x provides some initial character set assignments.
These initial assignments are in effect only until they are overridden by user-defined assignments in
the ACU. The initial assignments are as follows:

 0 - Arial (1-by-1; that is, each character occupies a space that is one column wide and one
row high)
 1 - Sans Serif (2-by-2). If Sans Serif is not available, then Arial Unicode MS is used.
 2 - MS Serif (2-by-2)
 3 - Arial Rounded MT Bold (2-by-2)
 E - Tahoma (1-by-1), with Unicode replacements for Thai
 @ - Courier New (1-by-1), with every character replaced by a space
5.7.16 ESC H - Select Foreground Color

The ESC H control sequence sets the foreground color for the text that follows the control
sequence.

The format of the control sequence is as follows:

ESC H nnn

The terminal uses color nnn for all subsequent text characters. The actual color corresponding to
nnn depends on the current DAC. In those resolutions which permit 256 colors, the valid range for
nnn is 000 to 255. In the 640 x 480 x 16 resolution, the valid range is 000 to 015. The background
of the text is transparent.

For the colors available with the default DAC (DAC000.DAT), refer to Section D.5.

You can use ESC H to select a color with which to clear the screen. Select the color just before the
FF (clear screen) control sequence. The border is also set to this color.

ESC H stays in effect until the screen data sets a new color or the screen data changes the
resolution.

EXAMPLE

In this example, the terminal clears the screen with color 137.

ESC H 137
FF

The actual color the terminal displays for color 137 depends on the current DAC.

RGB Format
The foreground color for text can be specified using red, green, and blue color values instead of a
DAC-dependent color number. The format of the control sequence is as follows:
ESC H Z aaa bbb ccc

The letter Z indicates that this instance of the ESC H control sequence uses the RGB format. The
parameters for this format are defined as follows:

 aaa - Red value of the foreground color


 bbb - Green value of the foreground color
 ccc - Blue value of the foreground color

The valid range for each parameter is 000 through 255.

EXAMPLE

In this example, the terminal clears the screen with the color yellow (252 252 084).

ESC H Z 252 252 084


FF

5.7.17 ESC I - Insert Screen

The ESC I control sequence inserts a specified screen into the current screen. The format of the
control sequence is as follows:

ESC I nnn

The terminal processes the screen data contained in screen nnn as if that data were inserted in the
current screen. The current images and attributes remain on the consumer display. The display
characteristics (cursor position, cell or font mode, bank selection, and row size) that are in effect in
the current screen (called the base screen) carry over to screen nnn. Similarly, the display
characteristics in effect at the end of screen nnn (whether established before ESC I processing or
within screen nnn) carry over to subsequent screen processing.

If the ESC I control sequence is not the last entry in the base screen, after the terminal finishes
processing screen nnn, it returns to the base screen and processes the remaining entries. You can
use ESC I in this way to create composite screens by using one or more screens as standard parts
or templates. You can nest screens up to five levels deep within the base screen, as shown in the
following graphic.
If screen 105 in the preceding figure contained an ESC I control sequence, the terminal would
ignore it because it would exceed the nesting limit.

If the ESC I control sequence is the last entry in the base screen, the terminal does not return to the
base screen after processing screen nnn.

EXAMPLE

The use of templates can increase the efficiency of the system by reducing file space and
configuration time for screen data. This example demonstrates how to use ESC I to implement
templates.
Screen 016 in Figure 5-15 can be used as a template for various payment transactions by
overlaying it with a small amount of additional text. Screen 017 uses screen 016 to generate a
prompt for a credit card payment. The screen data for screen 017 is as follows:

ESC I 016
SI D @
CREDIT
b CARD
b PAYMENT

Screen 018 uses screen 016 to generate a prompt for a mortgage loan payment. The screen data
for screen 018 is as follows:

ESC I 016
SI D @
MORTGAGE
b LOAN
b PAYMENT

Figure 5-15 Template (ESC I Example)


5.7.18 ESC L - Select Language Bank

The ESC L control sequence designates the correct language bank to use when the Multilingual
feature is used. The format of this control sequence is as follows:

ESC L xxx

The parameter xxx is the language bank number. If you are using the ESC L control sequence, it
must be the first control sequence listed in the screen data. If the ESC L control sequence is not the
first control sequence included in the screen data, Agilis 3 91x uses the default language bank to
display the screen. The language bank number is set in a state as part of Agilis 3 91x. For more
details on ESC L and the Multilingual feature, refer Section 5.10.

5.7.19 ESC M - Change Resolution

The ESC M control sequence simulates changes in display resolution for the consumer display. The
format of the control sequence is as follows:

ESC M nn

The parameter nn specifies a resolution mode. The resolution mode determines both the display
resolution to be simulated and a display grid to use for positioning text and icons. The valid values
for the resolution mode are shown in the following table.

Display Grid
Resolution Mode Simulated Resolution, in Pixels(horizontal x vertical) (columns x rows)
00 640 x 480 40 x 20
01 320 x 240 40 x 20
02 320 x 200 40 x 20
[1]
03 640 x 480 40 x 20
04 1024 x 768 64 x 32
05 800 x 600 50 x 25
[1]
Default resolution mode at terminal powerup.

When you select a resolution mode with ESC M, the terminal calculates new scaling factors for
displaying text and icons, and for positioning text and icons on the display grid. These display
elements are scaled in size when placed on the consumer display in order to simulate changes in
screen resolution. The actual resolution of the consumer display does not change.

When the terminal encounters an ESC M in screen data, the terminal performs the following
operations:

 Determines the number of columns and rows to use for the display grid and sets the row
size to 12
 Recalculates the scaling factors to use for displaying text and icons, and for positioning text
and icons on the display grid
 Selects the default DAC (Section D.5) to establish the available colors
 Sets the foreground and background colors to white and black, respectively
 Resets the character set to font 0
 Clears the screen and places the cursor at row @, column @

The specified resolution mode remains in effect until the terminal encounters another ESC M, or
until terminal power-up occurs.

5.7.20 ESC O - Select DAC

The ESC O control sequence specifies the colors available for displaying text and predefined icons.
The format of the control sequence is as follows:

ESC O nnn

The terminal loads the color values from the specified DAC file (DACnnn.DAT). These colors are
then available for use with the ESC C and ESC H control sequences. The valid range for nnn is 000
through 999.

ESC O does not affect the colors of text and predefined icons already displayed. ESC O does not
affect the colors of custom icons.

The ESC O settings remain in effect until changed by another ESC O, or by an ESC M control
sequence.

Default DAC and All Black DAC


The following DAC numbers correspond to predefined DACS provided with Agilis 3 91x:
 000 - Default DAC (Section D.5).
 001 - All-black DAC (set to black for all colors)

The default DAC provides 16 colors specifically for use with the ESC C control sequence and for
use with the 640 x 480 x 16 resolution. This DAC also provides 16 shades of gray, and hues of
varying intensity.

The all-black DAC can be used to hide screen painting and awkward screen transitions.

5.7.21 ESC P - Display Icon

The ESC P control sequence displays a specified icon. The format of the control sequence is as
follows:

ESC P nnn d

The terminal displays icon nnn in display mode d. The valid range for nnn is 000 through 999. The
valid values for d are as follows:

 0 - Normal video
 1 - Blinking video
 2 - Inverse video
 3 - Blinking inverse video
 4 - Sprinkle image
 5 - Wipe image

NOTE

Inverse video (display modes 2 and 3) applies only to the predefined icons.

The terminal places the upper left corner of the icon at the current cursor position. ESC P does not
change the cursor position.

The ESC O control sequence does not affect the colors used to display the icon.

The display mode remains in effect until changed by another ESC P, or by an ESC F, ESC G, ESC
M, or FF control sequence.

Icons
Icon filenames have the format iconnnn.xxx, where nnn is the icon number and xxx is the file
extension. For example, the file icon150.gif would contain icon 150.

Agilis 3 91x includes a set of predefined icons that you can use with the ESC P control sequence
(Section D.4). You can also create custom icons to use with ESC P. ESC P can display icons stored
in the PNG, JPEG, BMP, GIF, and PCX graphic formats. This includes files in the transparent GIF
format.

NOTE

You cannot use ESC P to display 16-color icons in those resolutions that support 256 colors.

Custom files must be stored in the following directory:

%AgilisEmPowerPath%\Screens\Themes\91x\Images

When directed to display an icon, Agilis 3 91x first searches for the specified icon in the Images
directory. If that directory does not contain the icon, Agilis 3 91x attempts to find and display a
predefined icon having the same icon number.

If there are two or more icon files having the same icon number (same filename, but a different file
extension) in the Images directory, the terminal chooses the icon to display based on the file
extension. The file extensions have the following order of precedence:

 PNG
 JPG
 BMP
 GIF
 PCX

For example, if the directory contains the files icon124.gif and icon124.jpg, the control sequence
ESC P 124 0 would cause the terminal to display icon124.jpg.
5.7.22 ESC Q - Display Check Image (terminals with IDM only)

The ESC Q control sequence displays the check image at the current cursor position.

If the document scanned by the IDM is not a check, the image displayed by ESC Q might be upside
down. This is because the terminal uses the MICR line on a check to determine the orientation of
the image. Without the MICR line, the terminal cannot determine the proper orientation of the
image.

5.7.23 ESC R - Repeat Character

The ESC R control sequence repeats a specified character a specified number of times. The format
of the control sequence is as follows:

ESC R sss b f c

Starting at the current cursor position, the terminal repeats character c of the current character set,
using background color b and foreground color f. Character c is repeated sss times. The characters
are put on the consumer display from left to right, like normal text, automatically wrapping to the
next row when necessary.

Parameter c can be any character defined for the current character set, including characters that
require the VT control sequence.

NOTE

For character sets whose characters are taller than one row (for example, a 2-by-2 font),
rows of characters will overlap, so usually these character sets are not used with ESC R.

The valid values for sss are 000 to 840. The ESC R control sequence has no effect if sss is set to
000.

The valid values for b and f are the hexadecimal digits 0 through F. The actual colors corresponding
to b and f depend on the current DAC. The background and foreground colors specified for ESC R
affect only the characters that this control sequence puts on the consumer display. ESC R does not
change the color of text and icons already displayed and does not affect the color of text and icons
put on the consumer display after completing ESC R processing.

When ESC R is finished, the cursor occupies the next row-column position after the last character c.

EXAMPLE

The following screen data generates the Welcome screen shown in Figure 5-16.

FF
SI C M
ESC R 012 0 7 *
SI J M
ESC R 012 0 7 *
SI E O
WELCOME
SI F 2
TO
SI G 0
FOURTH
SI H N
FINANCIAL
SI M G
INSERT
b CARD
b FOR
b SERVICE

The two rows of asterisks (*) are generated by the ESC R control sequences in the screen data
shown above. The background and foreground colors for the asterisks (black and white,
respectively) were arbitrarily chosen for this example. Typically, you specify the same colors as
those used for the text.

Figure 5-16 Border (ESC R Example)

5.7.24 ESC U - Tile Rectangle

To tile a rectangle means to cover the rectangle with graphic elements placed side by side, like floor
tiles. The ESC U control sequence tiles a specified rectangle on the consumer display by creating a
specified background color or pattern in the rectangle. In this way, ESC U provides an efficient
method of generating a background for large areas.

The format of the control sequence is as follows:

ESC U r1 c1 r2 c2 b f c

The terminal creates a rectangle whose upper left corner is at row r1, column c1 and whose lower
right corner is at row r2, column c2 as shown in the following figure.
You can choose any rows and columns of your addressable area to define the rectangle, as long as
row r1 is not below row r2 and column c1 is not to the right of column c2.

The terminal tiles this area with character c of the current character set, using background color b
and foreground color f. Parameter c can be any character defined for the current character set,
including characters that require the VT control sequence.

NOTE

For character sets whose characters are taller than one row (for example, a 2-by-2 font),
rows of characters will overlap, so usually these character sets are not used with ESC U.

The valid values for b and f are the hexadecimal digits 0 through F. The actual colors corresponding
to b and f depend on the current DAC. The background and foreground colors specified for ESC U
affect only the rectangle that this control sequence puts on the consumer display. ESC U does not
change the color of anything already displayed and does not affect the color of anything put on the
consumer display after completing ESC U processing.

ESC U does not change the position of the cursor.

EXAMPLE

The following screen data generates the screen shown in Figure 5-17.

FF
ESC F E 0
ESC U @ @ 3 W 0 7 $
SI E I
ESC F 1 0
PLEASE
b WAIT

The first ESC F control sequence in the second line selects a 1-by-1 character set for the ESC U
control sequence that follows. The ESC U tiles the display from row @, column @ (the upper left
corner of the addressable area) to row 3, column W (the lower right corner) with the character $.
Finally, the second ESC F selects a 2-by-2 character set, and "Please Wait" is placed over the
background starting at row E, column I.
Figure 5-17 Background (ESC U Example)

5.7.25 ESC V - Display Formatted Buffer Contents

The ESC V control sequence displays the contents of a buffer using a specified format template.
The format of the control sequence is as follows:

ESC V b tt

Where the valid values for b are A through Z, or as follows:

ESC V nnn tt

Where the valid values for nnn are 256 through 355.

The terminal formats the contents of buffer b or buffer nnn (as applicable) using format template tt.
The valid values for tt are 01 through 11. This number designates one of 11 available default format
templates. The templates specify how to display the contents of a buffer so that it appears on the
screen properly as a transaction amount, plain text or numbers, and so on.

The terminal displays the formatted buffer contents starting at the current cursor position (current
row and column). The buffer contents are displayed using the currently selected font, font size,
colors, and row size. At the end of ESC V processing, the cursor is placed one cell beyond the last
buffer character displayed.

5.7.26 ESC X - Position Cursor Using Global Coordinates

The ESC X control sequence allows you to position the cursor to a position identified by a pair of
(X,Y) coordinates. The format of the control sequence is as follows:

ESC X xxxx yyyy

ESC X uses a global coordinate system independent of the screen's resolution. The range of xxxx
is 0 through 9999, and the range of yyyy is 0 through 9999. As shown in the following figure, 0,0
(x,y) is the lower left corner. 9999, 9999 (x,y) is the upper right corner. 5000, 5000 (x,y) is the center
of the display.

The terminal positions the cursor differently depending on the current resolution. The following
paragraphs describe the way the terminal positions the cursor in each resolution.

Pixel Coordinates in the 640 x 480 x 16 Resolution


When the resolution is 640 x 480 x 16, the terminal sets the cursor's vertical position to the scan
line according to the following calculation:

(y * vres) / 10000

Where: vres = screen vertical resolution.

When the resolution is 640 x 480 x 16, the terminal sets the cursor's horizontal position on the byte
(8 pixels) in which the pixel is contained, according to the following calculation:

Truncate (((x * hres) / 10000) / 8)

Where: hres = screen horizontal resolution.

The horizontal position is scaled to a byte boundary because 16-color display algorithms are better
suited to byte output on even 8-pixel boundaries. This provides 80 horizontal positions for the
cursor.

Pixel Coordinates in Resolutions Which Permit 256 Colors


When the screen is in one of the resolutions which permit 256 colors, the terminal sets the cursor's
vertical position the same way it does in the 16-color mode. The terminal sets the cursor's
horizontal position according to the following calculation:
(x * hres) / 10000

Where: hres = screen horizontal resolution.

Once the cursor's screen position is set with ESC X, then text written or icons displayed, start at the
cursor position setting. If any other control sequence is used following ESC X, then the cursor is set
back to the 40-by-20 screen grid. The following is a partial list of control sequences that set the
cursor back to the 40-by-20 screen type: SI, FF, BS, CR, LF, US, and HT.

Suggestion
Shadow text is three-dimensional in appearance. Use ESC X to display shadow text on the screen.

EXAMPLE

This example demonstrates how ESC X displays shadow text.

021 Screen number


ESC M 03 Select 640 x 480 x 256 resolution
ESC O 001 Select DAC number 001 (black) before attempting to display icon or texts. This is a
special DAC number used for fading in or out that contains only black.
ESC P 239 Display icon 239 in the normal display mode
ESC 0 239 DAC number 239
ESC X 2000 Position the cursor in the upper-left quadrant of the screen (2000 on the x axis, 7999
7999 on the y axis)
ESC H 000 Select foreground color 000
SHADOW Display the text at the cursor position
TEXT
ESC X 2150 Reposition the cursor about 150 pixel positions from its previous position.
7800
ESC H 004 Select foreground color 004
SHADOW Display the same text at the offset cursor position
TEXT

5.7.27 ESC Y - Select Special Effect Time

The ESC Y control sequence allows you to specify a special effect time in milliseconds. The format
of this control sequence is as follows:

ESC Y n tttt

The range of the time tttt is 0000 through 9999 milliseconds. The value of n determines which
special effect time is being specified. The valid values for n are shown in the following table.

Value of
n Indicates...
> Adjust the time for the ESC > control sequence (fade-in transition). The default time is
300 milliseconds.
< Adjust the time for the ESC < control sequence (fade-out transition). The default time is
300 milliseconds.
P Adjust the time for the ESC P control sequence (display icon). This applies to sprinkle and
wipe only. The default time is 500 milliseconds.

5.7.28 ESC ZA - Skip Characters

The ESC ZA control sequence causes the screen processor to skip over the specified number of
characters that follow the escape sequence.

The format of the control sequence is as follows:

ESC ZA nnn

where,

nnn stands for the number of characters that should be skipped.

EXAMPLE

ESCZA003AABBCC causes the screen processor to skip over AAB, and display only BCC.

5.7.29 ESC ZC - Select Touch Template

NOTE

This control sequence is valid only if the terminal is equipped with a touch screen and the
touch screen is enabled (ACU).

The ESC ZC control sequence specifies the touch template to apply to the current screen. The
format of the control sequence is as follows:

ESC ZC nnn

The terminal applies touch template nnn to the current screen.

NOTE

If the current screen contains more than one ESC ZC, only the last ESC ZC in the screen is
used.

For more details on ESC ZC and the touch screen option, refer to Section 5.8.

5.7.30 ESC ZD - Define Touch Template Data

NOTE

This control sequence is valid only if the terminal is equipped with a touch screen and the
touch screen is enabled (ACU).
The ESC ZD control sequence associates a keypad key with a specified region of the touch screen,
and assigns a touch button number to that touch region.

ESC ZD nnn ff xxxx wwww yyyy zzzz ###

The following table describes the function of each parameter in the ESC ZD control sequence.

Parameter Description
nnn Touch template number
ff Keypad key identifier (refer to the following table)
xxxx Low x coordinate of the touch region
wwww High x coordinate of the touch region
yyyy Low y coordinate of the touch region
zzzz High y coordinate of the touch region
### Touch button number

The valid values for parameter ff are listed in the following table.

Key Value of ff Key Value of ff


[1]
Numeric key 0 00 Function key B ESC B
[1]
Numeric key 1 01 Function key C ESC C
[1]
Numeric key 2 02 Function key D ESC D
[1]
Numeric key 3 03 Function key E ESC E
[1]
Numeric key 4 04 Function key F ESC F
[1]
Numeric key 5 05 Function key G ESC G
[1]
Numeric key 6 06 Function key H ESC H
[1]
Numeric key 7 07 Function key I ESC I
[1]
Numeric key 8 08 Function key J ESC J
[1]
Numeric key 9 09 Function key K ESC K
[1]
Decimal point ( . ) 0 . Function key L ESC L
Function key A ESC A Function key M ESC M
[1]
Both characters must be used for this field.

For more details on ESC ZD and the touch screen option, refer to Section 5.8.

5.7.31 ESC ZI - Display IN Touch Button

The ESC ZI control sequence displays an IN touch button at the specified position. The format of
the control sequence is as follows:

ESC ZI xxxx yyyy nnn


The terminal displays the IN-button icon for touch button nnn at the global coordinates xxxx and
yyyy (refer to Section 5.7.26 for a description of global coordinates). The terminal places the upper
left corner of the icon at the specified position.

ESC ZI does not change the cursor position.

Filenames for IN-button icons have the format BTNInnn.pcx or BTNInnn.gif, where nnn is the
touch button number. Touch button icon files are stored in the following directory:

%AgilisEmPowerPath%\Screens\Themes\91x\Images

For more details on the touch screen option, refer to Section 5.8.

5.7.32 ESC ZO - Display OUT Touch Button

The ESC ZO control sequence displays an OUT touch button at the specified position. The format
of the control sequence is as follows:

ESC ZO xxxx yyyy nnn

The terminal displays the OUT-button icon for touch button nnn at the global coordinates xxxx and
yyyy (refer to Section 5.7.26 for a description of global coordinates). The terminal places the upper
left corner of the icon at the specified position.

ESC ZO does not change the cursor position.

Filenames for OUT-button icons have the format BTNOnnn.pcx or BTNOnnn.gif, where nnn is the
touch button number. Touch button icon files are stored in the following directory:

%AgilisEmPowerPath%\Screens\Themes\91x\Images

For more details on the touch screen option, refer to Section 5.8.

5.7.33 ESC ZU "MPEGPlay" - Media Player Control

NOTE

The Media Player feature is applicable only on terminals using the VGA Plus display method.

The Media Player feature is not supported in resolution mode 01 or resolution mode 02
(Section 5.7.19).

For Intel® Pentium® 4 processors, use WMV format file or Flash files for playing videos
instead of MPEG (MPG) files.

The Media Player control sequence allows you to define screen windows that show video
sequences (movies), complete with sound (if the terminal is so equipped), using MPEG-formatted
files stored on a CD or hard disk. You can display the MPEG window over the existing VGA
graphics.

MPEG video files must match the aspect ratio of the terminal display to render in full-screen mode.
The video will not 'stretch' to fit the screen.
EXAMPLE

Consider a D429 terminal equipped with a display with a native resolution of 800x480 and an
aspect ratio of 5:3. For user video to display in full screen mode, the video must also have an
aspect ratio of 5:3.

The Media Player control command allows you to set up an MPEG window for immediate play.

MPEG Setup/Play
The MPEG Setup/Play command allows a programmer to set up a window for an MPEG movie and
start playing an MPEG movie, or set up an MPEG window only (without starting the MPEG movie).
For the MPEG Setup/Play command, the Media Player control sequence has the following format:
ESC ZU "MPEGPlay" 1 m "filename" xxxx yyyy hhhh wwww n ccc p

Valid values for the preceding parameters are described in the following table.

Parameter Description Valid Values


m Determines the action to be 1 = On (set up MPEG window and begin play
performed on the video. immediately)
filename Indicates the file name of the
MPEG movie to be played.  Variation 1: filename.mpg - the file name only,
including the video extension, in quotes.
For example: welcome.mpg
 Variation 2: drive:\subdir1\subdir2\filename.mpg
- a complete path.
For example:
D:\MOVIES\LONGCLIP\LONG.MPG

xxxx Indicates the global x 0000 through 9999


coordinate position of the left
side of the MPEG window.
yyyy Indicates the global y 0000 through 9999
coordinate position of the top
side of the MPEG window.
hhhh Indicates the height of the 0000 through 9999
MPEG window relative to the
y coordinate.

If 0000 is used, then the


height of the browser is from
the y coordinate down to the
bottom of the screen.
wwww Indicates the width of the 0000 through 9999
MPEG window relative to the
x coordinate.

If 0000 is used, then the


width is the distance from the
x coordinate to the right edge
of the screen.
n Indicates the colourkey state. 0 = Disabled
ccc Indicates the color palette 000 to 255
index for the colorkey color.

This value is ignored since


the colorkey is disabled, but it
must still be three decimal
digits.
p Indicates the play mode
designation.  C = Play once and continue screen processing
during the MPEG movie (or movies) play.
If the MPEG movie is to play  W = Play once and delay screen processing until
across screen changes, the the MPEG movie (or movies) play has
C or R designation must be completed.
used.
 R = Play repeatedly and continue screen
processing.
If a screen is to be inserted
after the move has played
the W designation should be
used.

5.7.34 ESC ZU "CO" - Campaign Office Dynamic Data

The Campaign Offices Dynamic Data screen command creates dynamic data files in the
C:\Diebold\CampaignOffice\dynamicData\ directory.

Syntax for CO Screen Command


The syntax for the CO screen command is as follows:
ESC ZU "CO"<FileName>[File_Content]

The following table describes the parameters of the CO screen command.

Parameters of CO Screen Command


Parameters Description
FileName Refers to the name of the data file in the dynamic data directory
File_Content Refers to the data to be saved in the file. If this parameter is empty, then the file is
deleted.

Examples for CO Screen Commands


Consider the following examples for CO screen commands.

Example 1

ESC ZU "CO"<balance.txt>[$ 234.18]

This CO screen command creates a file named balance.txt in the


C:\Diebold\CampaignOffice\dynamicData\ directory.

This file contains the balance data: $ 234.18.


Example 2

ESC ZU "CO"<errorscrn.txt>[<span style="color:red">Error!</span>


The amount entered must be in multiples of $ 20.00. Please try again.]

This CO screen command creates a file named errorscrn.txt in the


C:\Diebold\CampaignOffice\dynamicData\ directory.

This file contains the error message: <span style="color: red">Error!</span>; The amount entered
must be in multiples of $ 20.00. Please try again

Example 3

ESC ZU "CO"<scr990_bkey.txt>[]

This CO screen command deletes the file named scr990_bkey.txt from the
C:\Diebold\CampaignOffice\dynamicData\ directory.

5.7.35 ESC ZV - Browser Control

The ESC ZV control sequence enables a web browser to display contents on the screen. The
browser can be configured to coexist with non-browser screen output for a “mixed-mode" effect, or
it can be directed to fill the entire screen.

NOTE

The browser window does not carry over from screen to screen. An ESC ZV must be present
in each screen in which browser display is desired.

ESC ZV supports HTML pages that use the ActiveX methods and properties described in
Section 5.14.2. Apart from that, ESC ZV supports only static HTML pages.

The format of this control sequence is as follows:

ESC ZV "URL spec" ssss p ttt bbb

The “URL spec" parameter is the web page or local document to be displayed by the browser. This
specification must be enclosed by double quotes.

The next parameters, ssss and p, are the size and position of the browser window, respectively.
The size ssss is measured in global coordinates, ranging from 0000 through 9999 (refer to Section
5.7.26 for a detailed description of global coordinates). The position p can have the following
values:

 T - Positions the browser window along the top edge of the screen, with a height ssss.
 B - Positions the browser window along the bottom edge of the screen, with a height ssss.
 L - Positions the browser window along the left edge of the screen, with a width ssss.
 R - Positions the browser window along the right edge of the screen, with a width ssss.
 F - Displays a fullscreen browser window, where the size is assumed to be the entire
screen. The parameter ssss is ignored.
 M - Reserved for future use.

The field ttt is the number of seconds to wait for a URL to successfully load, ranging from 000
through 999. A value of 000 in this field causes the current default value to be used. This default is
defined by the Browser Timeout option (ACU).

A backup screen number bbb must be provided for full screen browser windows (where the value of
p is F), to be used in the event that the browser is unable to load the specified URL. This backup
screen is processed exactly like a screen inserted by an ESC I or SO control sequence. At present,
this field is ignored for “mixed-mode" windows (where the value of p is T, B, L, or R). In these
cases, the browser simply does not appear if the URL fails to load, leaving the current full screen
display.

If displaying in “mixed-mode", the browser window does not shift or resize any non-browser screen
contents; it simply overlays the specified portion of the non-browser screen.

5.7.36 ESC < (less than) - Fade-out Transition

The ESC < control sequence provides a fade-out transition from a normal view to a completely
black screen. The format of the control sequence is as follows:

ESC <

When ESC < is encountered in the screen data, the screen contents gradually fade from view until
the screen becomes completely black. The transition time from a normal view to a fully black screen
is 300 milliseconds, unless the special effect time for fade-out transitions has been changed by an
ESC Y control sequence (Section 5.7.27).

EXAMPLE

The following example shows how to use the fade-out and fade-in transitions.

ESC <
ESC P 231 0
ESC > 000
ESC D 003

First, the screen fades to black (ESC <). Next, icon 231 is placed on the screen (ESC P 231 0), but
remains invisible because the screen was faded out. Then the screen fades from black to a normal
view (ESC > 000), revealing icon 231. Finally, the view remains unchanged for 2.4 seconds (ESC D
003).

5.7.37 ESC > (greater than) - Fade-in Transition

The ESC > control sequence provides a fade-in transition between screens from a black screen to a
normal view. This control sequence has the effect of fading the screen contents into view. The
format of the control sequence is as follows:

ESC > nnn

The parameter nnn is ignored but must be present for proper parsing of the control sequence.
When ESC > is encountered in the screen data, the screen becomes black immediately (if not
already black), after which the screen contents gradually fade into view. The transition time from a
fully black screen to a normal view is 300 milliseconds, unless the special effect time for fade-in
transitions has been changed by an ESC Y control sequence (Section 5.7.27).

EXAMPLE

The following example shows how to use the fade-out and fade-in transitions.

ESC <
ESC P 231 0
ESC > 000
ESC D 003

First, the screen fades to black (ESC <). Next, icon 231 is placed on the screen (ESC P 231 0), but
remains invisible because the screen was faded out. Then the screen fades from black to a normal
view (ESC > 000), revealing icon 231. Finally, the view remains unchanged for 2.4 seconds (ESC D
003).

5.7.38 ESC @ - Display Check View (terminals with IDM only)

The ESC @ control sequence displays a specified view of a deposited check (or other document).
The check view is displayed at the current cursor position. The format of the control sequence is as
follows:

ESC @ nnn

The parameter nnn specifies the view of the check to be displayed. The following values are valid
for this parameter:

 000 - Front of check, 640 x 240 pixels


 001 - Back of check, 640 x 240 pixels
 002 - Front of check, 320 x 120 pixels
 003 - Back of check, 320 x 120 pixels

NOTE

Views of the back of the check (or other document) require an IDM capable of scanning both
sides of the deposited check.

If the document scanned by the IDM is not a check, the image displayed by ESC @ might be
upside down, or the opposite side of the document (for example, front side specified but back side
shown). This is because the terminal uses the MICR line on a check to determine the orientation of
the image. Without the MICR line, the terminal cannot determine the proper orientation of the
image.

5.8 Touch Screen

The touch screen feature allows the consumer to enter numeric and function key-type input by
touching designated areas of the screen. This input can provide both numeric and function key
inputs for all information gathering states (PIN entry, information entry, function key entry).
Configuration Data
Configuration data for the touch screen must be provided either from the network, from disk files, or
a combination of both. After configuration, it operates in direct parallel to the keypad. Screens that
have associated touch screen templates enable and disable the touch screen at the same time that
the keypad is enabled and disabled. Keypad input is accepted from either the touch screen, the
keypad keys, or a combination of both.

Configuration data for the touch screen must be considered in two parts: touch template definitions
and screen definition data telling the terminal which touch template to use for a specific screen. All
touch screen configuration data is contained within screen records in Write Command 2 messages
(Section 5.6).

Touch Templates
Touch templates are defined with the ESC ZD control sequence and contain one or more touch
screen button definitions. Each region on the screen that corresponds to a touch screen button is
defined separately in the screen data. Each button definition contains the following fields:
 Touch template number
 Keypad key identifier
 Low x coordinate (xlow)
 High x coordinate (xhigh)
 Low y coordinate (ylow)
 High y coordinate (yhigh)
 Touch button number

The touch template number ranges from 000 to 998. The keypad key identifier specifies which
keypress this field represents. The screen regions are defined by four x and y coordinates, each in
the range of 0000 through 9999. The touch button number specifies which IN-button icon to display
in that region when that region of the screen is touched.

EXAMPLE

To define touch template 123 for function keys A through D, the following data is included in screen
data sent in a Write Command 2 message:

ESC ZD 123 ESC A 5000 9999 5000 5500 016


ESC ZD 123 ESC B 5000 9999 3500 4000 017
ESC ZD 123 ESC C 5000 9999 2000 2500 018
ESC ZD 123 ESC D 5000 9999 0500 1000 019

Figure 5-18 shows the regions of the screen defined by this touch template.

Figure 5-18 Touch Template Example


Touch Screen Notes
The following notes apply to the use of the touch screen:
 The touch screen is enabled in each state that enables the keypad and displays a screen
for which a touch template has been declared.
 The touch subsystem enables buttons that are both declared in the template and enabled
on the keypad. If a state does not specify a screen for display or does not enable the
keypad, the touch screen is not enabled for that state.
 When using the touch screen with OAR, the screen data supplied in a Write Command 5
message can include touch screen information. The screen data can refer to a previously
downloaded touch template, it can define a new touch template, or, if the Auto Touch option
is enabled, it can use touch template 999 by default. For more details on the Write
Command 5 message, refer to Section 6.6.

Auto Touch
The Auto Touch option allows the use of the touch screen without additional programming for touch
templates. When Auto Touch is selected, the terminal is enabled to use a predefined touch
template: touch template 999 . The terminal uses touch template 999 as a default touch template
for all screens across all language banks.

Touch template 999 sets up touch button regions for function keys A through I. The following chart
provides the data for touch template 999. IN-button icon 000 is specified as the IN-button icon for
each key.

xlow xhigh ylow yhigh

A 5000 9999 4750 5750


B 5000 9999 3250 4250
C 5000 9999 1750 2750
D 5000 9999 0250 1250
E 0000 9999 8000 9999
F 0000 4999 4750 5750
G 0000 4999 3250 4250
H 0000 4999 1750 2750
I 0000 4999 0250 1250

5.9 Reserved Screens

Agilis 3 91x reserves screens 000 through 009, and 900 through 950 for specific terminal functions
(Table 5-71). Agilis 3 91x provides default data for reserved screens 000 through 007, but the
network can download its own data for any of the reserved screens.

Table 5-71 Reserved Screens


Screen Number Function
000 More Time screen (default)
001 Off Line screen (default)
002 Out of Service screen (default)
003 Not used
004 Currency Characters screen
005 Thousands Separator Character(s) screen
006 Decimal Character screen
007 Remove Currency screen
008 Rear Balance menu text
009 Rear Balance function definitions
900 OAR screen
901 Language Selection screen
902 Rear Balance Function Failure screen
903 Continuous Availability Continue screen
904 Continuous Availability Take Card screen
905 Voice Guidance Selection screen
906 Depository Not Available screen
907 Bill Dispenser Not Available screen
908 Coin Dispenser Not Available screen
909 Reserved for future use
910 Envelope Dispense screen
911 Envelope Dispense Failure [Continue/Cancel] screen
912 Reserved for future use
913 Envelope Dispense Failure screen
914 Envelope Dispenser Not Available screen
915 Dip Card Reader Prompt for Removal screen
916 AHD Not Available screen
917 - 920 Reserved for future use
921 Currency Acceptor Not Available screen
922 Take Envelope screen
923 Reserved for future use
924 - 942 Deposit Emulation screens
943 ADA Screen Blanking prompt screen
944 Wrong card insert screen
945 Receipt print screen on deposit transaction limit reached
946 Receipt print screen on deposit done
947-950 Reserved for future use

Screen 000 (More Time screen)


Screen 000 prompts a consumer who fails to respond within a specified interval. Screen 000 must
be downloaded from the network and must conform to the following function key A and B
requirements:
 If function key A is pressed, the terminal returns to the original state in which the timeout
occurred. The consumer presses this key to request more time.
 If function key B is pressed, the terminal returns to the Timeout Next State entry of the
original state in which the timeout occurred. Normally, this Timeout Next State is a Close
state.

Screen 001 (Off Line screen)


Screen 001 is displayed when the terminal is in the Off-line mode. The screen's text defaults to OFF
LINE at terminal power-up or reset.

Screen 002 (Out of Service screen)


Screen 002 is displayed when the terminal is in the Out-of-service mode. The screen's text defaults
to OUT OF SERVICE at terminal power-up or reset.

Screen 003
Agilis 3 91x does not use this screen. This screen is reserved for compatibility with TCS.

Screens 004, 005, and 006 (Currency Characters, Thousands Separator Character, and
Decimal Character screens)
Screens 004, 005, and 006 are displayed when the terminal is in the Dollar Entry state (Section
5.4.6), and can be used for some types of user-defined format templates (Section 5.19).

Screen 004 places the currency-type characters at the beginning of the cash amount on the
consumer display.

Screen 005 defines the separator character (usually a comma) between the hundreds, thousands,
millions, and billions digits, as applicable.

Screen 006 places the decimal separator (usually a period) between major and minor currency units
on the consumer display (for example, between dollars and cents).

If screens 004, 005, and 006 are not downloaded, they default to the following characters:
 Screen 004 - $ b
 Screen 005 - NULL
 Screen 006 - . (period)

These screens revert to their default content at power-up or reset.

By downloading screens 004, 005, and 006, other characters can be shown in the transaction
amount display field.

Agilis 3 91x displays up to 20 characters from screen 004 for the currency characters. If screen 004
contains more than 20 characters, only the first 20 characters are displayed.

Agilis 3 91x displays up to one character from screen 005 for the thousands separator character. If
screen 005 contains more than one character, only the first character is displayed.

Agilis 3 91x displays up to one character from screen 006 for the decimal character. If screen 006
contains more than one character, only the first character is displayed.

EXAMPLE 1

The following illustration shows the use of screens 004, 005, and 006 for displaying 8-digit
transaction amounts entered during a Dollar Entry state. This example assumes the following
configuration settings:

 Calculator format
 Two decimal places
 Default values for screens 004 and 006
 Network downloads screen 005, containing a comma ( , )

1 Screen 004 - Default characters (dollar sign, space) set at power-up


2 Screen 005 - Screen data (a comma) downloaded from the network
3 Screen 006 - Default character (a period) set at power-up

EXAMPLE 2

The following illustration shows the use of screens 004, 005, and 006 for displaying 12-digit
transaction amounts entered during a Dollar Entry state. This example assumes the following
configuration settings:
 Calculator format
 Two decimal places
 Default values for screens 004 and 006
 Network downloads screen 005, containing a comma ( , )

1 Screen 004 - Default characters (dollar sign, space) set at power-up


2 Screen 005 - Screen data (a comma) downloaded from the network
3 Screen 006 - Default character (a period) set at power-up

Screen 007 (Remove Currency screen)


Screen 007 is used by Currency Acceptor state and function command processing. On terminals
equipped with a BNA, if there are items in the reject area at the start of a Cash Deposit operation,
the terminal displays the Remove Currency screen to prompt the consumer to remove the items
from the reject area before inserting cash.

NOTE

If a Cashguard situation is in effect, this scenario does not occur.

The default wording for this screen is as follows:

PLEASE REMOVE CURRENCY LEFT IN DRAWER

This screen reverts to its default content at power-up or reset.

Screen 008 (Rear Balance menu text)


Screen 008 is used by the Rear Balance feature (Section 5.13). This screen provides the text for
the selectable entries on the Rear Balance menu.

Screen 009 (Rear Balance function definitions)


Screen 009 is used by the Rear Balance feature (Section 5.13). This screen provides the data that
defines the rear balance functions.

Screen 900 (OAR screen)


Screen 900 is used by the Open Account Relationship (OAR) feature (Section 6.6). Screen 900
temporarily stores the OAR screen data sent from the network so that Agilis 3 91x can process the
screen data and display it.
Screen 901 (Language Selection screen)
Screen 901 is used by the Multilingual feature (Section 5.10). This screen is used to prompt the
consumer to select a language for screen text and (if applicable) voice messages. The active keys
for this screen are determined by the number of languages set in ACU. For two languages, function
keys A and B are active, corresponding to language banks 000 and 001 respectively. For three
languages, function keys A, B, and C are active; and so on up to eight languages (function keys A,
B, C, D, F, G, H, and I). In addition, the Cancel key is active, resulting in the selection of the default
language (language bank 000).

Screen 902 (Rear Balance Function Failure screen)


Screen 902 is used by the Rear Balance feature (Section 5.13). This screen is displayed to indicate
an error during the processing of a rear balance function.

Screen 903 (Continuous Availability Continue screen)


Screen 903 is used by the Continuous Availability feature (Section 2.3.6). The Card Read state (A
state) displays this screen if a consumer initiates a transaction session while the receipt printer is
being serviced. The screen asks the consumer if they want to continue with their transaction even
though a receipt is not available.

Also, as an option, the terminal can allow consumers to perform transactions when the paper supply
is low or out in the receipt printer. If this option is enabled (in the Agilis Configuration Utility), the
Card Read state displays screen 903 at the start of a consumer session when the paper supply is
low or out.

Screen 904 (Continuous Availability Take Card screen)


Screen 904 is used by the Continuous Availability feature (Section 2.3.6). If the consumer elects not
to continue a transaction as prompted by reserved screen 903, screen 904 is displayed, directing
the consumer to take their card.

Screen 905 (Voice Guidance Selection screen)


Screen 905 is used by the Voice feature (Section 5.11). This screen is used to allow the consumer
to select voice guidance or no voice guidance. Voice guidance is initially active so that any voice
prompting associated with screen 905 can be spoken. The active keys for this screen are function
keys A and F (activate voice guidance), and function keys B and G and the Cancel key (deactivate
voice guidance).

Screen 906 (Depository Not Available screen)


Screen 906 is used by the Continuous Availability feature (Section 2.3.6). This screen appears if the
consumer selects a deposit while the depository is being serviced. The consumer is given the
option to wait for the transaction to continue (when servicing is completed) or to cancel the
transaction.

Screen 907 (Bill Dispenser Not Available screen)


Screen 907 is used by the Continuous Availability feature (Section 2.3.6). This screen appears if the
consumer selects a bill dispense while the bill dispenser is being serviced. The consumer is given
the option to wait for the transaction to continue (when servicing is completed) or to cancel the
transaction.

Screen 908 (Coin Dispenser Not Available screen)


Screen 908 is used by the Continuous Availability feature (Section 2.3.6). This screen appears if the
consumer selects a coin dispense while the coin dispenser is being serviced. The consumer is
given the option to wait for the transaction to continue (when servicing is completed) or to cancel
the transaction.

Screen 909
This screen is reserved for future use.

Screen 910 (Envelope Dispense screen)


Screen 910 is displayed before envelope dispensing for either automatic envelope dispensing
(Section 3.3.2) or Deposit state processing (Section 5.4.3). The consumer is given the option to
receive an envelope or proceed directly to the next operation. The default wording for this screen is
as follows:
DO YOU NEED AN ENVELOPE

The default active keys for this screen are A (Yes) and B (No).

Screen 911 (Envelope Dispense Failure [Continue/Cancel] screen)


Screen 911 is used for automatic envelope dispensing (Section 3.3.2) and Deposit state processing
(Section 5.4.3). This screen appears if the envelope dispenser is unavailable due to a device
problem. The consumer is given the option to continue or cancel the transaction. The default
wording for this screen is as follows:
ENVELOPES ARE NOT AVAILABLE

DO YOU WISH TO CONTINUE?

The default active keys for this screen are A (Yes) and B (No).

Screen 912
This screen is reserved for future use.

Screen 913 (Envelope Dispense Failure screen)


Screen 913 is used by the Deposit state processing (Section 5.4.3). This screen appears if the
envelope dispenser is unavailable due to a device problem. Consumers are informed that
envelopes are unavailable, and are instructed to cancel the deposit operation after it starts if they
do not want to continue. The default wording for this screen is as follows:
ENVELOPES ARE NOT AVAILABLE

IF YOU DO NOT WANT TO CONTINUE PRESS THE CANCEL KEY WHEN YOU ARE TOLD TO
BEGIN YOUR DEPOSIT

Screen 914 (Envelope Dispenser Not Available screen)


Screen 914 is used by the Continuous Availability feature (Section 2.3.6). This screen appears if the
consumer selects an envelope dispense while the envelope dispenser is being serviced. The
consumer is given the option to wait for the transaction to continue (when servicing is completed) or
to cancel the transaction.

Screen 915 (Dip Card Reader Prompt for Removal screen)


Screen 915 is used by the dip card reader. This screen prompts consumers to remove their card.
The default wording for this screen is as follows:
PLEASE REMOVE YOUR CARD TO CONTINUE
This screen appears if the consumer does not remove the card within the time specified by timer 23
(Section 5.15).

Screen 916 (AHD Not Available screen)


Screen 916 is used by the Continuous Availability feature (Section 2.3.6). This screen appears if the
consumer selects an After Hour depository (AHD) deposit while the AHD is being serviced. The
consumer is given the option to wait for the transaction to continue (when servicing is completed) or
to cancel the transaction.

Screens 917 through 920


These screens are reserved for future use.

Screen 921 (Currency Acceptor Not Available screen)


Screen 921 is used by the Continuous Availability feature (Section 2.3.6). This screen appears if the
consumer selects a cash deposit while the currency acceptor is being serviced. The consumer is
given the option to wait for the transaction to continue (when servicing is completed) or to cancel
the transaction.

Screen 922 (Take Envelope screen)


Screen 922 is used for automatic envelope dispensing (Section 3.3.2) and Deposit state processing
(Section 5.4.3). This screen appears when the envelope has been successfully dispensed. The
screen prompts the consumer to take the dispensed envelope. The default wording for this screen
is as follows:
PLEASE REMOVE ENVELOPE TO CONTINUE

Screen 923
This screen is reserved for future use.

Screens 924 through 942


These screens are used by the Deposit Emulation feature.

Screen 943
Screen 943 is used as the prompt screen for the ADA Screen Blanking feature. This screen
appears only once during a transaction, when the customer inserts the card to initiate the
transaction, or when the customer presses a key to initiate a transaction without using a card.

The Agilis 3 91x application provides a default screen 943, shown in Figure 5-19. Financial
institutions can use any custom screen as the blanking screen.

Figure 5-19 Screen 943 for ADA Screen Blanking


The customer is prompted to select the Enter key to obscure the transaction screens, or select the
Cancel key to continue viewing the transaction screens.

If the customer does not select either of these options, the screen 943 is timed out and the
transaction screens are displayed for the rest of the transaction.

Screen 944
Screen 944 is used to display the error message when a customer incorrectly inserts a card in to
the ActivEdge card reader. This screen can also be used to display the error message when the
card was correctly inserted but the card reader was unable to read the card.

Timer 18 is used to set the time for which the screen 944 should be displayed.

Screen 945
Screen 945 is the receipt print screen displayed when the deposit transaction limit is reached.

Screen 946
Screen 946 is the receipt print screen displayed when the deposit transaction is completed.

Screens 947 through 950


These screens are reserved for future use.

5.10 Multilingual Feature

The Multilingual feature provides a method of referencing screens of different languages without the
burden of having parallel states for each language. There are two main aspects of this feature:

 Storing screens of different languages so that only one state flow is required to show
screens of any language.
 Selecting the appropriate language for each consumer.
5.10.1 Screen Storage

Each language supported has a set of screens translated into that language with the same screen
numbers as the default screens. These screens are contained in separate language banks . By
doing this, the same state flow can be used to show screens in various languages.

To distinguish between the different languages, embed a language control sequence immediately
after the screen number. This control sequence is read when the terminal is configured and
determines which language bank to use for storing the screen. If any screen does not contain this
control sequence, then the default language bank is used for storage.

This language control sequence is ESC L num, where num represents the language bank number.

Once the consumer's language bank has been determined, subsequent states use this language
bank for retrieving each screen.

A Close state sets the language bank back to the default of 000.

The following is an example of screen data that contains this language bank indicator:

013
ESC L 010
FF
SI CL PLEASE SELECT TRANSACTION
SI I8 WITHDRAW ----- >
SI L8 DEPOSIT ------ >
SI 08 TRANSFER ----- >

5.10.2 Icon Storage

Agilis 3 91x supports language banks for icons, for use with ESC A and ESC P control sequences.
Language banks for icons are supported for the VGA Plus video display mode.

Agilis 3 91x does not provide language bank support for icons for Color Graphics Feature (CGF),
Character Generator Emulation (CGE) and Enhanced Monochrome Graphics (EMG).

Custom icons (ICONnnn.xxx files) can be stored in a language directory (LANGxxx) within the
appropriate graphics directory, as follows:

 ADP00\LANGxxx
 ADP01\LANGxxx
 CGF\LANGxxx
 CGE\LANGxxx

Where xxx is a language bank number (000 through 255). An institution implementing language-
specific icons must create and maintain a separate LANGxxx directory for the icons for each
language.

Prepackaged icons are not stored in a language directory. The prepackaged icons can be displayed
regardless of which language bank is in effect (unless superseded by a custom icon of the same
number).
When directed to display an icon, Agilis 3 91x first searches for the specified icon in the applicable
language directory. If that directory does not contain the icon (or if the directory does not exist),
Agilis 3 91x searches for the icon in the ADP00, ADP01, CGF, or CGE directory, as applicable. If
that directory does not contain the icon, Agilis 3 91x attempts to find and display a prepackaged
icon having the same icon number.

5.10.3 Language Bank for Custom Icons

Current support for the Language Bank requires that there be one language per directory for all
custom icons (ICONnnn.xxx). However, to display these custom icons will depend on the current
selected Language Bank.

C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\images\ADP00\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\images\ADP01\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\images\CGE\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\images\CGF\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\Staging\images\ADP00\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\Staging\images\ADP01\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\Staging\images\CGE\LANGnnn
C:\Program Files\Diebold\Agilis
EmPower\Screens\Themes\91x\Staging\images\CGF\LANGnnn
Where: “LANGnnn" represents the Language Bank directory and "nnn" is the
Language Bank number in the range of [000-255.

Custom icons (ICONnnn.xxx) are retrieved from the LANGnnn subdirectory within the configuration
directories, based on the selected Language Bank as follows:

 ADP00
 ADP01
 CGE
 CGF

Custom icons (ICONnnn.xxx) will be retrieved from the configuration directory


(ADP00/ADP01/CGF/CGE), if they are not available in the corresponding Language Bank directory
(LANGnnn). This directory provides access to custom icons that are common in all languages.

Table 5-72 describes the file format for icon storage.

Table 5-72 File Format Features


[1]
File Type Naming Conventions Default Description
Custom No Custom icon files store the custom icons you create.
Icon  ICONnnn.PCX The extension indicates the format of the files.
 ICONnnn.GIF
 ICONnnn.BMP
 ICONnnn.JPG
 ICONnnn.TIF

[1]
nnn designates a three-digit number unique to each individual file.

5.10.3.1 Custom Graphic Data Updates

There are two \UPD subdirectories corresponding to a configuration directory, which reside in the
following directories:

 Configuration Directory
o C:\Diebold\tcs\ADP00\UPD
o C:\Diebold\tcs\ADP01\UPD
 Language Bank Directory Within the Configuration Directory
o C:\Diebold\tcs\ADP00\LANGnnn\UPD
o C:\Diebold\tcs\ADP01\LANGnnn\UPD

Custom icons are loaded from ADP00\LANGnnn\UPD (high-resolution) and ADP01\LANGnnn\UPD


(low-resolution) directories. Other graphic resources (characters\colors\...) would be loaded from
their usual location (ADP00\UPD or ADP01\UPD).

NOTE

CGF, CGE and EMG display modes do not support this feature.

5.10.3.2 Procedure to Load Custom Icon and DAC Files

Each time the terminal is powered up or reset, the system copies the update icons in the \UPD
directories to the appropriate configuration directory, as follows:

 ADP00\UPD files are copied to ADP00


 ADP01\UPD files are copied to ADP01
 ADP00\LANGnnn\UPD files are copied to ADP00\LANGnnn
 ADP01\LANGnnn\UPD files are copied to ADP01\LANGnnn

NOTE

This movement of files is independent of the file types. Files of all types would move from
subdirectories.

Perform the following procedure to load custom icon files and custom DAC files.

1. Open a Command Prompt window.


2. Type the following command at a command prompt:
Loadcrt

3. Place the terminal in service. Perform some consumer transactions to verify the icons are
appropriate for your application.

NOTE

Each time the terminal is powered up or reset, the system copies the update icons in the
\UPD directories to the appropriate configuration directory: either the
C:\Diebold\tcs\ADP00\LANGnnn directory or the C:\Diebold\tcs\ADP01\LANGnnn directory.
Icons can be changed as often as necessary by following this procedure.

5.10.4 Language Selection

There is both an automatic method and a manual method for selecting the language. The automatic
method requires fewer network changes, but it has some restrictions. The manual method requires
incorporating one or more Set Language Bank states into the existing state flow.

Automatic Method
The automatic method of language selection only functions when the feature is enabled through the
Automatic Language Selection option in the ACU. This method requires the use of the Card Read
state (A state) for reading the consumer's card, and it requires downloading reserved screen 901.

Upon getting a good read of the consumer's card, a screen similar to the one below (screen 901) is
displayed. The consumer then selects a language by using the function keys.
The language bank number is determined by the function key pressed by the consumer. Function
key A sets the language bank number to 000 (the default language bank), function key B sets the
language bank number to 001, and so on. The setting of the Automatic Language Selection option
determines which keys are enabled. Up to eight different languages are supported (corresponding
to function keys A, B, C, D, F, G, H, and I). If key mapping is used to map the F, G, H, and I keys to
A, B, C, and D, a maximum of four languages are supported.

The institution is required to configure a Language Selection screen (screen 901) that maps the
supported languages with the corresponding keys. Since screens are retrieved from the default
language bank before language selection, Agilis 3 91x always saves screen 901 in the default
language bank regardless of any ESC L control sequence in the screen data.

NOTE

Only one screen 901 is required for selecting languages. Any additional 901 screens that are
downloaded overwrite the previous screen 901.

If the consumer presses the Cancel key instead of selecting a language, the terminal continues
using the default language bank. If the consumer times out before selecting a language, the More
Time screen from the default language bank is shown. If the consumer chooses No, the transaction
continues using the default language bank.

Manual Method
The manual method of language selection requires incorporating one or more Set Language Bank
states (Section 5.4.21 or Section 5.5.31) into the existing state flow. One method of implementation
is to use one or more Select Function states in order to get to the Set Language Bank states. In this
case, the institution can specify both a Timeout Next State and a Cancel Next State. The language
bank number associated with each function key is at the institution's discretion. Using several
Select Function states and Set Language Bank states, an institution can support as many
languages as it requires.

Once the language is selected and the language bank number is established, the remaining
screens are retrieved from that bank. If, for some reason, a particular screen number does not exist
in the selected language bank, the screen is retrieved from the default language bank (if the screen
number exists there). Thus, reserved screens 004, 005 and 006, which contain only symbols, do
not have to be downloaded to each bank.

5.10.5 OARs in Conjunction with the Multilingual Feature

A language bank control sequence (ESC L) can be inserted within the OAR screen data as long as
the character is at the beginning of the OAR screen data. No other characters can precede the ESC
L control sequence. Internally, the OAR screen is stored using a reserved OAR screen number. If
no language bank is specified by an ESC L control sequence, the OAR screen is saved in the
default bank (000). If a language bank is specified, the OAR screen is saved in that language bank.

Before the OAR screen is displayed, the screen must first be retrieved from where it was stored.
The current language bank is first scanned to determine if it contains a screen that matches the
reserved OAR screen number. If the current language bank does not contain the OAR screen, the
default language bank (000) is scanned to determine if it contains a screen matching the reserved
OAR screen number. The backup feature of checking the default language bank for a screen that
does not exist in the current language bank works the same for OAR screens as it does for
downloaded screens.
This backup feature can be used to a network's advantage when OAR data is sent. If the OAR
screen does not contain any language-specific text, the network can choose to not specify a
language bank within the OAR screen data. This action removes the burden of keeping track of the
current language bank the consumer is using.

For example, the network could download both an English screen 200 that contains the text
TODAY'S RATE FOR CAR LOANS IS: and a Spanish screen 200 that contains the same text
translated into Spanish. Each screen 200 must contain a language control sequence. The OAR
screen could then contain only a control sequence to insert screen 200 in addition to the numerical
data showing the current rate.

Some caution must be used when taking advantage of the backup feature. The backup feature fails
as soon as the network specifies a language bank within OAR screen data. Whenever the network
sends an OAR screen with a language control sequence that specifies bank 001, this screen is
retrieved whenever the current language bank is 001.

Using the backup feature in this manner is only recommended for banks that use the automatic
method of language selection (Section 5.10.4). In the case of the automatic method, the network
has no way of determining the current language bank used during each transaction. Whenever the
state method is used, however, it is recommended that the network have some method of
determining the current language bank used during each transaction. In addition to allowing the
network to insert a language control sequence within the OAR screen data, this knowledge opens
up many other programming possibilities.

Touch Screen
Since the text on a touch button might be language specific, Agilis 3 91x allows the creation and
storage of language-specific touch templates. Each language can have a different set of touch
templates.

If a terminal uses the manual method of language selection, the terminal can report the consumer's
language selection to the network in the Consumer Request message. Then, the network can
include the appropriate ESC L control sequence (select language bank) in the OAR screen data,
along with an ESC ZC control sequence (select touch template).

If a terminal uses the automatic method of language selection, the network can use an indirect
approach. For example, the network could download a screen 200 for each language. Each version
of screen 200 would contain the appropriate ESC L control sequence and the required language-
specific touch template data. The network would then include an ESC I 200 control sequence
(insert screen 200) in the OAR screen data to retrieve the correct version of the screen and touch
template data.

5.11 Voice Feature

The Voice feature provides the ability to coordinate voice messages with the text messages
displayed on the consumer display during a consumer transaction. This feature is intended primarily
for voice prompting and voice assist applications.

The Voice feature uses Text To Speech (TTS) capability, which allows Agilis 3 91x terminals to
convert plain text to audible speech. TTS requires a text-to-speech synthesizer, called the TTS
engine. The TTS engine is a software application that converts text to a specific voice. Typically,
voices generated by distinct TTS engines differ in pitch and speed, and are generally categorized
as male or female voices.
Text intended for conversion to speech can be in the form of text strings embedded in screen data
(as part of voice commands), stored in text files (.TXT files), or stored in Agilis 3 91x buffers.

In addition to converting text to speech, the terminal can play voice messages stored as digitized
sound in .WAV files . This capability provides compatibility with legacy systems.

The default directory for .TXT files, .WAV files, and control files is C:\PROGRAM
FILES\DIEBOLD\AGILIS EMPOWER\VOICE\LANG000. All .WAV files must be writable. If a .WAV
file is read-only, the file might not be played.

To use the Voice feature, voice commands are embedded in screen data downloaded in Write
Command 2 messages (Section 5.6). Voice commands follow the screen number and optional
language bank number in the Write Command 2 message, and they precede the touch template
data (if present) and the display screen data. Also, voice commands can be embedded in the
screen data sent in Write Command 5 messages (Section 6.6).

States
The Voice states (Section 5.4.16 and Section 5.5.29) provide a means to activate or deactivate
voice messages within the state flow.

The Text To Speech state (Section 5.5.1) directs the terminal to obtain text from a specified buffer
and convert the text to audible speech. Typically, this state is used to speak account balances.

Automatic Prompt to Select Voice Guidance


As an option (ACU), the terminal can automatically prompt each consumer after card insertion to
select whether they want voice guidance during their transaction. This option requires the use of the
Card Read state (A state) and downloading reserved screen 905 , but does not require the use of
Voice states.

For additional information about this option, refer to the description of the Card Read state (Section
5.4.1) and the description of reserved screen 905 (Section 5.9).

Multilingual Voice Messages


The Voice feature can be used in conjunction with the Multilingual feature (Section 5.10). To
implement multilingual voice messages, the institution must create a directory for voice messages
for each language. The additional directories must have the following form:
C:\PROGRAM FILES\DIEBOLD\AGILIS EMPOWER\VOICE\LANGnnn

Where nnn is the three-digit language bank number . The .TXT files, .WAV files, and control files
associated with each language must be stored in the corresponding LANGnnn directory. All default
.TXT files and .WAV files included with Agilis 3 91x should be copied to the appropriate LANGnnn
directory.

To implement multilingual Text To Speech (TTS), an institution installs multiple TTS engines. A
separate TTS engine is installed for each language, and each TTS engine is assigned to a separate
language bank (through the Agilis Configuration Utility). During a consumer session, Agilis 3 91x
automatically uses the TTS engine associated with the current language bank to speak any text
specified by a voice command (unless overridden by a Diebold or SAPI text tag, Section 5.11.1).

NOTE
The institution is responsible for providing the required TTS engines, although some
packages are available through Diebold. TTS engines must be compliant with SAPI 5.0 or
later.

If an institution uses .WAV files rather than TTS to implement the Voice feature, multiple TTS
engines are not required for multiple languages.

Volume Control
The volume settings in the Voice Guidance portion of the ACU define the upper and lower limits of
the volume (loudness) for voice messages. Within that range, the volume of voice messages is
adjustable through the Maintenance application and through screen commands. The voice volume
settings are applied only when a voice message is playing. System settings are always restored
when the voice message ends, so voice volume settings do not interfere with the volume of other
audio features (such as Media Player) and vice versa.

There is an ACU option to designate a function key (J, K, L, or M) to be used by the consumer to
control the volume of voice messages. When a function key has been designated for voice volume
control, that function key is dedicated to voice volume control. Agilis 3 91x ignores any attempt to
enable that function key for any other use during a consumer session. For example, that function
key cannot be used as a selection key when selecting a transaction.

Repeat Key
There is an ACU option to designate a function key (J, K, L, or M) to be used by the consumer as a
Repeat key. Pressing the Repeat key causes Agilis 3 91x to restart and replay any voice prompting
messages contained in the current screen.

When a function key has been designated as a Repeat key, that function key is dedicated to use
as a Repeat key. Agilis 3 91x ignores any attempt to enable that function key for any other use
during a consumer session. For example, that function key cannot be used as a selection key when
selecting a transaction.

5.11.1 Text Tags

Various commands can be embedded in text to modify the manner in which the text is spoken.
These commands allow developers to enhance the spoken output by indicating a specific
pronunciation of the text, altering the speed or pitch of the speech, pausing within the speech, or
including the contents of a buffer within the text to be spoken. Some of these commands are
extensible markup language (XML) tags defined by the Speech Application Programming Interface
(SAPI) 5.1 standards (Table 5-73). These SAPI XML tags are processed by the TTS engine itself. In
addition, there are several commands defined by Diebold and processed by Agilis 3 91x (Table 5-
74).

Table 5-73 Text To Speech XML Tags (SAPI 5.1)


Tag Description
Context Provides information for normalizing special items such as dates, numbers, and cash
amounts. An example follows:

<context id='date_mdy'>03/12/04</context>

The value of the Id attribute (date_mdy) indicates that the date between the tags is to be
interpreted as the month, followed by the day, followed by the year. Other SAPI-defined
values for the Id attribute are date_dmy and date_ymd.
Emph Emphasizes a word or section of text. An example follows:

<emph>text</emph>

The Emph tag causes the word text to be spoken emphatically.


Lang Selects a voice based solely on its language attribute. An example follows:

<lang langid='409'>text</lang>

The value of the Langid attribute (409) indicates that the text between the tags is to be
spoken using language 409 (U.S. English). The Lang tag can also be used as a
singleton, as in the following example:

<lang langid='409'/>

In this case, the Lang tag changes the voice for all subsequent text.
PartOfSp Provides the speech processor with the part of speech of a word or phrase. An example
follows:
<partofsp part='verb'>record</partofspeech>

The value of the Part attribute (verb) indicates that the word record is a verb. SAPI-
defined values for the Part attribute include the following values:

 Noun
 Verb
 Modifier
 Function
 Interjection
 Unknown

Pitch Controls the pitch of the voice speaking the text. An example follows:

<pitch absmiddle='5'>text</pitch>

The value of the Absmiddle attribute (5) causes the word text to be spoken at pitch 5.
The valid range for the Absmiddle attribute is -10 to 10.

The Middle attribute can be used in place of the Absmiddle attribute. The Middle attribute
changes the pitch relative to the current pitch. The valid range for the Middle attribute is -
10 to 10, with a value of 0 resulting in no change from the current pitch.
Pron Specifies the pronunciation of a word or section of text. An example follows:

<pron sym='h eh 1 l ow'>hello</pron>

The value of the Sym attribute is a string of phoneme symbols that specify the
pronunciation of the word hello.
Rate Controls the rate at which a word or section of text is spoken. An example follows:
<rate absspeed='5'>text</rate>

The value of the Absspeed attribute (5) causes the word text to be spoken at rate 5. The
valid range for the Absspeed attribute is -10 to 10.

The Speed attribute can be used in place of the Absspeed attribute. The Speed attribute
changes the rate relative to the current rate. The valid range for the Speed attribute is -10
to 10, with a value of 0 resulting in no change from the current rate.
Silence Inserts a specified number of milliseconds of silence. An example follows:

<silence msec='500'/>

The value of the Msec attribute (500) directs the speech processor to insert 500
milliseconds of silence into the text being spoken.
Spell Directs the speech processor to speak the individual letters, numbers, and punctuation
marks comprising a word or section of text. An example follows:

<spell>text</spell>

The Spell tag causes the speech processor to voice the individual letters t, e, x, and t
comprising the word text.
Voice Selects a voice based on age, gender, name, or other attributes. An example follows:

<voice required='name=Microsoft Mary'>text</voice>

The value of the Required attribute (name=Microsoft Mary) causes the speech processor
to speak the word text using the Microsoft Mary voice. The following attributes can be
used to select a voice:

 Age
 Gender
 Language
 Name
 Vendor
 Vendorpreferred

The Optional attribute can be used in place of the Required attribute if the change is not
required. The Optional attribute has the same range of voice attributes.
Volume Controls the volume of a voice as a percentage of the default volume setting. An example
follows:

<volume level='50'>text</volume>

The value of the Level attribute (50) causes the speech processor to speak the word text
at 50 percent of the default volume setting. (The default volume setting is the volume set
through maintenance operations, not the maximum volume of which the terminal is
capable.) The valid range for the Level attribute is 0 to 100.
Table 5-74 Diebold Text To Speech Tags
Tag Description
ControlList Defines a list of one or more voice messages that can be repeated a fixed number of
times or indefinitely. An example follows:

<controllist repeat=001>
(message list)
</controllist>

The start and end tags must both be present in order to mark the start and the end of
the message list. The Repeat value specifies the number of repetitions for the entire
message list. This number can range from 000 to 999. The value 999 causes Agilis 3
91x to repeat the list indefinitely. For further information, refer to Section 5.11.2.4.
Repeat The Repeat tag is an optional element of an entry in a control list. This tag causes Agilis
3 91x to repeat the corresponding message a fixed number of times or indefinitely. An
example follows:

<repeat=4>

The Repeat value specifies the number of repetitions for the corresponding message.
This number can range from 0 to 999. The value 999 causes Agilis 3 91x to repeat the
list indefinitely. If the Repeat tag is not included in an entry, the message is played once
for each repetition of the control list. For further information, refer to Section 5.11.2.4
Speakfile Specifies a .WAV file to be played or a .TXT file to be spoken. An example follows:

<speakfile=wavefile.wav>

The Speakfile tag causes Agilis 3 91x to play the file WAVEFILE.WAV.
TCSBuffer Inserts the contents of an Agilis 3 91x buffer into the message. An example follows:

<tcsbuffer=A>

The TCSBuffer tag causes Agilis 3 91x to insert the text contained in buffer A into the
message. The valid range of values for buffer IDs is A through Z, 065 through 090
(buffers A through Z), and 256 through 355. SAPI XML tags and Diebold Text To
Speech tags can be embedded in the text contained in the buffer.

Optionally, the TCSBuffer tag can specify a format template to use in formatting the
contents of the buffer, as in the following example:

<tcsbuffer=A,template=9>

The contents of buffer A is formatted using format template 009. The TTS engine
determines the syntax used to speak the formatted text. For information about using
format templates to format buffer contents, refer to Section 5.19.
TransLang Modifies the speaker for the duration of the transaction. An example follows:

<translang=Microsoft Mary>

The system default is reset at the end of the transaction.


The SAPI XML tags can be embedded in text strings used in the following places:

 Screen data (as part of voice prompting commands or voice keypad feedback commands)
 Control files
 .TXT files
 Agilis 3 91x buffers

The Diebold Text To Speech tags can be embedded in all of the preceding except .TXT files.
Diebold Text To Speech tags are not permitted in .TXT files due to the fact that the .TXT files are
processed directly by the SAPI-based TTS engine.

5.11.2 Voice Prompting

Voice prompting messages are played when a screen is displayed. Voice prompting messages
typically guide the consumer to perform a function, or the messages describe the layout of the
screen and prompt the consumer to make a selection.

The voice prompting messages for a screen are specified by means of voice prompting commands
(ESC ; control sequences). Voice prompting commands can be embedded in either base screens
(the screen number referenced in the state or function command) or in overlay screens. The voice
prompting command can include a reference to any of the following elements:

 Individual voice message (Section 5.11.2.1)


 Interpretive command (Section 5.11.2.2)
 Control file (Section 5.11.2.3)
 Control list (Section 5.11.2.4)

Agilis 3 91x supports multiple voice prompting commands within any given screen. However, all the
voice prompting commands must be placed back-to-back. These commands must follow the screen
number and the optional language bank number, and must precede voice keypad feedback
commands (if present), touch template data (if present), and the screen data that can be displayed.

5.11.2.1 Voice Prompting Using Individual Messages

Voice prompting commands can reference individual voice messages directly. Individual voice
messages can contain the text to be spoken (with or without voice tags), the file name of a .TXT file
containing the text to be spoken, or the file name of a .WAV file to be played.

There can be multiple voice prompting commands referring to individual voice messages within any
given screen. However, all voice prompting commands must be placed back-to-back, and must
precede all other screen data with the exception of the screen number and the optional language
bank number.

For voice prompting using individual messages, the format of the command is as follows:

ESC ; t "message" ddd xxx

The parameter t controls the termination of any voice messages currently in progress. The following
values have been defined for this parameter:
 0 - Add the message to the message queue, do not terminate the message in progress.
 1 - Terminate the message in progress, purge the message queue, and proceed with the
new message.
 2 - Terminate the message in progress, purge the message queue.

The parameter message can contain any one of the following:

 A text string, optionally including SAPI XML tags, Diebold Text To Speech tags, or both.
The text can be in either UTF-7 or UTF-8 Unicode format, depending on the Unicode
Format setting in the ACU.
 The file name of a .TXT file. The .TXT file contains a text string and, optionally, SAPI XML
tags. The text must be in UTF-8 Unicode format.
 The file name of a .WAV file.

The parameter ddd is a three-digit number that specifies the number of seconds to delay after
displaying the screen, before speaking the message. If multiple messages are queued, this
specifies the delay between messages. The valid range for ddd is 000 to 255.

The parameter xxx is a reserved field that must be set to 000.

When parameter t is set to 2 (terminate and purge), the command should not contain any
message data. The format of this command is as follows:

ESC ; 2 "" 000 000

Table 5-75 shows some examples of voice prompting commands referencing individual voice
messages.

Table 5-75 Voice Prompting Using Individual Messages


Voice Prompting Command Description
ESC ; 0 "This a test." 000 000 Speak the text This a test.
ESC ; 0 "TEST.TXT" 000 000 Speak the text contained in the file TEST.TXT.
ESC ; 0 "<tcsbuffer=A>" 000 000 Speak the text contained in buffer A.
ESC ; 0 "Buffer A contains Append the contents of buffer A to the text
<tcsbuffer=A>" 000 000 Buffer A contains, then speak the combined
text.
ESC ; 0 "<tcsbuffer=A,template=9>" Interpret the contents of buffer A using format
000 000 template 9, then use TTS to speak the result.
ESC ; 0 "TEST.WAV" 000 000 Play the file TEST.WAV.

5.11.2.2 Voice Prompting Using Interpretive Commands

Interpretive commands are special control sequences (ESC ZK) placed within voice prompting
commands to interpret the contents of a specified buffer according to a specified format template.
These commands provide the capability of speaking entered transaction amounts and account
balances.

NOTE
The ESC ZK control sequence requires .WAV files to function (refer to the paragraphs
labeled Standard .WAV Files at the end of this section). To perform the same function with
.TXT files, use the TCSBuffer tag (Table 5-74).

For voice prompting using interpretive commands, the format of the voice prompting command is as
follows:

ESC ; t "interpretive command" ddd xxx

Where the parameters t, ddd, and xxx function as defined in Section 5.11.2.1. The format of the
interpretive command is as follows:

ESC ZK b ff

The parameter b identifies the buffer containing the data to be formatted. The valid range for b is A
through Z.

The parameter ff indicates the format template number. The valid range for ff is 01 through 99.

The following format can also be used:

ESC ZK bbb ff

Where bbb is a buffer number. The valid range for bbb is 065 through 090 and 256 through 355.
The parameter ff is the same as in the first format.

The ESC ZK control sequence uses the same format templates as defined for screens. Agilis 3 91x
first formats the specified buffer according to the specified format template. The resulting string is
then parsed, and a concatenation of .WAV files (1.WAV, 2.WAV, and so on) is constructed and
played.

The parser concatenates the pre-recorded .WAV files together using an English syntax. For
example, to say the dollar amount $123456.78, the following .WAV files are played:

 1.WAV
 HUNDRED.WAV
 20.WAV
 3.WAV
 THOUSAND.WAV
 4.WAV
 HUNDRED.WAV
 50.WAV
 6.WAV
 DOLLARS.WAV
 AND.WAV
 70.WAV
 8.WAV
 CENTS.WAV

EXAMPLE

An example of an interpretive command contained in a voice prompting command is as follows:

ESC ; 1 "ESC ZK A 09" 000 000

This command directs the terminal to interpret the contents of buffer A using format template 009.
The terminal then concatenates the applicable .WAV files, and plays the result.

If buffer A (the Dollar Buffer) contains 2000 and format template 009 contains C04ZZZZZ9699,
Agilis 3 91x formats the buffer data to the string $20.00 (in this example, screen 004 contains $ and
screen 006 contains a decimal point). This string is then parsed, and the appropriate .WAV files are
concatenated and played.

Recommendations for non-U.S. Currency


Currently, the parsing algorithm supports only U.S. dollar-formatted amounts. Regardless of the
actual currency used in the transaction, the formatted buffer data must be in the form dollar sign,
dollar digits, decimal point, cents digits (for example, $ 20.00). The dollar sign is used as an
indicator to the parser that a currency amount follows. The decimal point is required to indicate the
start of the minor currency units. The parser ignores all characters except numerics, the dollar sign,
and the decimal point. A recommended format template for an 8-digit transaction amount is C$
ZZZZZ9.99. The recommended format templates for 12-digit transaction amounts are C$
ZZZZZZZZZ9.99. (two minor currency digits) and C$ ZZZZZZZZ9.999 (three minor currency digits).

The .WAV files created for concatenated transaction amounts should be recorded in the correct
language, although the standard file name must be used. For example, the file DOLLARS.WAV can
contain the recorded text "pounds".

The parser concatenates the pre-recorded .WAV files together using an English syntax, as
previously indicated.

The ESC ZK control sequence does not display the formatted buffer. If an institution desires to
display the formatted amount, the ESC V screen control sequence can be used in the screen data
to display the same buffer using a different format template, a format template that contains the
currency symbol, thousands separator, and decimal separator appropriate to the actual currency
used.

Standard .WAV Files


The following .WAV files must be recorded to support the capability of speaking transaction
amounts and account balances using the ESC ZK control sequence:
 0.WAV, "zero"
 1.WAV, "one"
 2.WAV, "two"
 3.WAV, "three"
 4.WAV, "four"
 5.WAV, "five"
 6.WAV, "six"
 7.WAV, "seven"
 8.WAV, "eight"
 9.WAV, "nine"
 10.WAV, "ten"
 11.WAV, "eleven"
 12.WAV, "twelve"
 13.WAV, "thirteen"
 14.WAV, "fourteen"
 15.WAV, "fifteen"
 16.WAV, "sixteen"
 17.WAV, "seventeen"
 18.WAV, "eighteen"
 19.WAV, "nineteen"
 20.WAV, "twenty"
 30.WAV, "thirty"
 40.WAV, "forty"
 50.WAV, "fifty"
 60.WAV, "sixty"
 70.WAV, "seventy"
 80.WAV, "eighty"
 90.WAV, "ninety"
 AND.WAV, "and"
 CENT.WAV, "cent"
 CENTS.WAV, "cents"
 DOLLAR.WAV, "dollar"
 DOLLARS.WAV, "dollars"
 BILLION.WAV, "billion"
 HUNDRED.WAV, "hundred"
 MILLION.WAV, "million"
 THOUSAND.WAV, "thousand"
 DECIMAL.WAV, "decimal point"

These files are concatenated together to speak transaction amounts and balances. The script
associated with each of these .WAV files is shown in quotes.
When creating these files, care must be taken to remove all dead space so that the overall speech
is smooth. This can be done using a multimedia editor. If all the dead space is not removed, the
speech might sound choppy.

After the files have been created, they must be stored in the LANG000 directory.

5.11.2.3 Voice Prompting Using Control Files

Voice prompting commands can reference control files.Control files are a multiple line text files that
specify a list of one or more voice messages. Each line specifies a single message. Fields within
the control file provide functionality to repeat the entire list, repeat an individual message, or specify
delays between messages. Control files are useful for orientation and tutorial messages in a
Welcome screen sequence. The control file can be set up to repeat indefinitely as well as
independently of rotating Welcome screens.

For voice prompting using control files, the format of the command is as follows:

ESC ; t mmm ddd xxx

The parameter t controls the termination of any voice messages in progress. The following values
have been defined for this parameter:

 0 - Add the messages to the message queue, do not terminate the message currently in
progress.
 1 - Terminate the message in progress, purge the message queue, and proceed with the
new messages.
 2 - Terminate the message in progress, purge the message queue.

The parameter mmm is a three-digit number that identifies a control file (specifically, the file
CTRLmmm.DAT). The control file defines a list of voice messages, with a delay time and number of
repetitions specified for each message in the list. The valid range for mmm is 000 to 999.

The parameter ddd is a three-digit number that specifies the number of seconds to delay after
displaying the screen, before processing the control file. If multiple control files are specified, this
specifies the delay between control files. The valid range for ddd is 000 to 255.

The parameter xxx is a reserved field that must be set to 000.

All parameters must have the specified length, so that the total length of the parameter list (t mmm
ddd xxx) is exactly 10 characters. If the parameters are not the correct length, the result is
unpredictable.

Multiple lines can be added to a single control file (CTRLmmm.DAT) to specify multiple messages.

Each line in the control file has the following format:

0 nnn ddd message

The first parameter is always zero, as shown in the format.


The parameter nnn specifies the repeat factor (how many times an individual line is spoken or
played). The valid range for this parameter is 001 through 999. This field only applies to the line that
is spoken. The entire control file will automatically repeat unless the last line's delay field (ddd) is
set to 999.

The parameter ddd specifies the amount of time to delay after playing the message, before playing
the next message or replaying the entire list. If repetition (nnn) value is more than 001, the delay
occurs between every repetition of the entry. The following ranges of values are valid for ddd:

 000 through 255 - The delay time equals ddd seconds. For example, if ddd equals 002, the
delay is 2 seconds.
 256 through 998 - The delay time equals (ddd - 255) times 0.1 seconds. For example, if
ddd equals 256, the delay is 0.1 seconds.
 999 - End the play loop after playing the current message.

NOTE

To prevent the entire list from repeating automatically, specify a delay time of 999 for the last
line in the list.

The parameter message can contain any one of the following:

 A text string, optionally including SAPI XML tags, Diebold Text To Speech tags, or both.
The text can be in either UTF-7 or UTF-8 Unicode format, depending on the Unicode
Format setting in the ACU.
 The file name of a .TXT file. The .TXT file contains a text string and, optionally, SAPI XML
tags. The text must be in UTF-8 Unicode format.
 The file name of a .WAV file.

A control file cannot contain a reference to another control file. In addition, a control file cannot
contain a control list (Section 5.11.2.4). Only one control file can be active at any time.

Table 5-76 shows some examples of control files.

Table 5-76 Example Control File Contents


Content of the Control File Description
0 001 002 WELCOME.WAV The message WELCOME.WAV plays immediately and repeats
indefinitely, with a 2 second delay between plays.
0 001 999 TCS_TEST.WAV The message TCS_TEST.WAV plays once and stops, because
the entry specifies 999 for the delay time.
0 001 003 3.WAV These four messages play sequentially with a 3 second delay
0 001 003 2.WAV between each message. The sequence does not repeat,
0 001 003 1.WAV because the last line specifies 999 for the delay time.
0 001 999 BLASTOFF.WAV
0 003 001 ROW.WAV The sequence of play for this file is ROW (3 times),
0 001 002 YOURBOAT.WAV YOURBOAT, DOWNSTRM, MERRILY (4 times), and LIFEIS.
0 001 003 DOWNSTRM.WAV There is a 1 second delay after each play of ROW.WAV, a 2
0 004 001 MERRILY.WAV second delay after YOURBOAT.WAV, and so on. The entire
0 001 001 LIFEIS.WAV sequence repeats indefinitely.
0 001 002 WELCOME.TXT Speak the text contained in the file WELCOME.TXT
immediately and repeat indefinitely, with a 2 second delay
between repetitions.
0 001 002 Welcome to our Speak the text Welcome to our bank immediately and repeat
bank. indefinitely, with a 2 second delay between repetitions.
0 001 002 Play the file WELCOME.WAV immediately and repeat
<speakfile=WELCOME.WAV> indefinitely, with a 2 second delay between repetitions.
0 001 999 <tcsbuffer=A> Speak the text contained in buffer A once, then stop.
0 001 999 Buffer A Append the contents of buffer A to the text Buffer A contains,
contains <tcsbuffer=A> speak the combined text once, then stop.
0 003 002 Welcome to our Speak the text Welcome to our bank three times, with a 2
bank. second delay between repetitions. After three prompts, stop.
0 001 999

5.11.2.4 Voice Prompting Commands Defining Control Lists

Control lists are similar to control files. However, unlike control files, control lists are defined entirely
within screen data, using the ESC ; control sequence. The following example shows how a control
list would appear in screen data.

ESC ; 0 "<controllist repeat=999>" 000 000


ESC ; 0 "Row <repeat=3>" 000 000
ESC ; 0 "your boat, gently down the stream." 000 000
ESC ; 0 "Merrily, <repeat=4>" 000 000
ESC ; 0 "Life is but a dream." 000 000
ESC ; 0 "</controllist>" 005 000

The first line of the control list specifies that the message list is to be repeated indefinitely (repeat =
999). The last line inserts a 5-second delay (ddd = 005) after each repetition of the message list.

Each message in the control list can contain any one of the following between the quote marks:

 A text string, optionally including SAPI XML tags, Diebold Text To Speech tags, or both.
The text can be in either UTF-7 or UTF-8 Unicode format, depending on the Unicode
Format setting in the ACU.
 The file name of a .TXT file. The .TXT file contains a text string and, optionally, SAPI XML
tags. The text must be in UTF-8 Unicode format.
 The file name of a .WAV file.

Control lists cannot contain other control lists. Control lists cannot contain references to control files.
Only one control list can be active at any time.

5.11.3 Voice Keypad Feedback Commands

Voice keypad feedback messages are played in response to a keypress. These messages indicate
which function key or numeric key has been selected.

NOTE
Voice keypad feedback messages require the use of headphones by the consumer. These
messages are audible only through headphones connected to the terminal. Voice keypad
feedback messages are supported on any terminal equipped with a headphone option.

During PIN entry (B, M, or @D state), the terminal does not play voice keypad feedback
messages for numeric keys. Messages for function keys are still played during PIN entry,
however.

The voice keypad feedback messages for a screen are specified by means of voice keypad
feedback commands (ESC ZH control sequences). Voice keypad feedback commands must be
embedded in the base screen (the screen number referenced in the state or function). These
commands cannot be embedded in overlay screens.

A given screen can contain multiple voice keypad feedback commands. However, all the voice
keypad feedback commands must be placed back-to-back. These commands must follow the
screen number, the optional language bank number, and voice prompting commands (if present),
and must precede touch template data (if present) and the screen data that can be displayed.

Typically, a voice keypad feedback command is included for each enabled function key. The voice
keypad feedback message for a touch button shown on the screen could be the same as the label
on the button (for example, "WITHDRAWAL"). If the numeric keypad is enabled, a single voice
keypad feedback command can be used to set the voice keypad feedback messages for all the
numeric keys to predefined values.

The format of the voice keypad feedback command is as follows:

ESC ZH k cccc xxx "message"

The parameter k indicates the key type. The valid values are as follows:

 0 - numeric key
 Hex 1B (ESC) - function key

The parameter cccc is the ASCII hexadecimal value of the key code (that is, 0041 for the A key,
0042 for the B key, 0030 for the 0 key, and so on). This parameter indicates which key the voice
keypad feedback message is for.

For numeric keys, special values of cccc can be used to set predefined voice keypad feedback
messages for the numeric keys as a group. The value 0021 directs the terminal to use a group of
text strings defined in the file FEEDBACK.TTS. The value 0023 directs the terminal to use a group
of .WAV files defined in the file FEEDBACK.DAT. In either case, the default versions of the files set
the voice keypad feedback message for the 1 key to "one", the 2 key to "two", the 3 key to "three",
and so on. For further information on this option, refer to the paragraphs labeled FEEDBACK.TTS
and FEEDBACK.DAT, later in this section.

The parameter xxx is a reserved field that must be set to 000.

The parameter message is a text string, a .TXT file name, or a .WAV file name. When the value of
cccc is 0021 or 0023 (group numeric key assignments), this parameter must be omitted, but the
quotes still must be present.

Table 5-77 shows some examples of voice keypad feedback commands.


Table 5-77 Example Voice Keypad Feedback Commands
Control Sequence Description
ESC ZH 0 0031 000 "1" Speak the word one when the 1 key is pressed.
ESC ZH 0 0031 000 "1.TXT" Speak the text contained in the file 1.TXT when the 1 key is
pressed.
ESC ZH 0 0031 000 "1.WAV" Play the file 1.WAV when the 1 key is pressed.
ESC ZH ESC 0041 000 Speak the word Withdrawal when function key A is pressed.
"Withdrawal"
ESC ZH ESC 0041 000 Play the file WITHDRAW.WAV when function key A is pressed.
"WITHDRAW.WAV"
ESC ZH 0 0021 000 "" Play the default key assignment (as defined in
FEEDBACK.TTS) when a numeric key is pressed.
ESC ZH 0 0023 000 "" Play the default key assignment (as defined in
FEEDBACK.DAT) when a numeric key is pressed.

FEEDBACK.TTS and FEEDBACK.DAT


The numeric keys can be treated as a group and set to default messages (that is, the 1 key is set to
"one", the 2 key is set to "two", the 3 key is set to "three", and so on) or to user-defined messages.
The default messages are defined in the file FEEDBACK.TTS (for terminals using the Text To
Speech method) and the file FEEDBACK.DAT (for terminals using .WAV files). These files reside in
the C:\PROGRAM FILES\DIEBOLD\AGILIS EMPOWER\VOICE directory.

The file FEEDBACK.TTS corresponds to the value 0021 for parameter cccc.

You can also enable the FEEDBACK.TTS file from the Agilis Configuration Utility (ACU) instead of
using the voice keypad feedback commands. In ACU, navigate to Agilis 91x > Devices > Voice
Guidance and select the Use Feedback.tts option from the Numeric Key Feedback field. When
you select the Use Feedback.tts option, all the screens that require a feedback when numeric keys
are pressed use the values defined in the FEEDBACK.TTS file. However, if feedback values for
numeric keys are defined in the screen, then these feedback values will take precedence over the
values defined in the FEEDBACK.TTS file.

The default contents of FEEDBACK.TTS are as follows:

 00030000 "0"
 00031000 "1"
 00032000 "2"
 00033000 "3"
 00034000 "4"
 00035000 "5"
 00036000 "6"
 00037000 "7"
 00038000 "8"
 00039000 "9"
 0002E000 "decimal"
The file FEEDBACK.DAT corresponds to the value 0023 for parameter cccc. The default contents
of FEEDBACK.DAT are as follows:

 00030000 "0.wav"
 00031000 "1.wav"
 00032000 "2.wav"
 00033000 "3.wav"
 00034000 "4.wav"
 00035000 "5.wav"
 00036000 "6.wav"
 00037000 "7.wav"
 00038000 "8.wav"
 00039000 "9.wav"
 0002E000 "decimal.wav"

If necessary, the text or file names specified within the quotes can be changed in order to assign
the numeric keys to different voice keypad feedback messages.

Interaction between Voice Prompting and Voice Keypad Feedback


Since voice keypad feedback messages are spoken in response to a key press, the voice keypad
feedback messages immediately terminate all voice prompting messages. Voice keypad feedback
messages also terminate previous voice keypad feedback messages, to keep up with the
consumer's key presses. When key feedback is defined for the selection, the consumer can cut
short any voice guidance messages by making that selection.

Pressing a key that has no feedback assigned to it will not terminate the currently playing voice
message. Any voice guidance playing will continue until either a new screen is displayed containing
the necessary voice control to terminate the existing voice playing, or a key is pressed that has
feedback defined for it.

Voice prompting messages cannot cut short or terminate a voice keypad feedback message,
regardless of the termination flag associated with the message. Feedback from a key press takes
precedence over any subsequent voice prompting message, allowing the consumer to hear the
entire feedback message for their selection before continuing.

5.12 Key Mapping Feature

The Key Mapping feature allows any keypad key (0 through 9, and A through M) to be used as any
function key (A through M). The key that the consumer presses is translated by a user-defined key
map, and the translated value is used by a state or function just as if that value had been the actual
key pressed.

Key mapping can be used with any of the following processes:

 States and function commands that enable key entry (including Yes, No, or Cancel keys)
 Open Account Relationship dialogs (OAR)
 More Time screen

The configuration data for key mapping must be downloaded to the terminal using Write Command
2 messages. The configuration data consists of the following types of control sequences:

 ESC ZX - Define key map (Section 5.12.1)


 ESC ZW - Select key map (Section 5.12.2)

Optionally, an institution can create a default key map that can be used with any screen not
explicitly associated with a key map (Section 5.12.3).

Section 5.12.4 provides a detailed description of how the Key Mapping feature works.

5.12.1 ESC ZX - Define Key Map

The ESC ZX control sequence defines a key map that translates one or more physical keys to key
designators (key values) representing function keys.

The ESC ZX control sequence must be placed in the Key Mapping Data field of the Write Command
2 message. One or more of these control sequences can be placed in any screen record, at the
discretion of the network programmer. The control sequences have no direct logical connection to
the screen record in which they are placed.

The ESC ZX control sequence has the following format.

ESC ZX ttt nnn kk ff ... kk ff

The parameter ttt specifies the map number of the key map that this control sequence defines. The
valid range for ttt is from 001 to AZZ.

The parameter nnn indicates the number of key pairs (kk ff) in this control sequence. The valid
range for nnn is from 001 to 100.

For each key pair (kk ff), the parameter kk specifies the physical key that is to be translated to a
specified function key value when the key kk is pressed. The valid range for kk is 30 through 39
(numeric keys 0 through 9), and 41 through 4D ( function keys A through M).

For each key pair (kk ff), the parameter ff specifies which function key value is reported when the
key kk is pressed. The valid range for ff is 41 through 4D (function keys A through M).

EXAMPLE

The following example of an ESC ZX control sequence defines a key map that translates five
keypad keys (1, 2, 3, 4, and J) to function key values (A, B, C, D, and M).

ESC ZX 100 005 31 41 32 42 33 43 34 44 4A 4D

5.12.2 ESC ZW - Select Key Map

The ESC ZW control sequence directs the terminal to use a specified key map when displaying the
associated screen.
The ESC ZW control sequence should be placed in the Key Mapping Data field of the Write
Command 2 message. Only one ESC ZW control sequence can be placed in a given screen record.
To enable key mapping for a state or function, the control sequence must be placed in the base
screen specified by the state data or function data. The ESC ZW does not function in nested
screens or in screens that follow the base screen in a sequence or loop.

The ESC ZW control sequence has the following format.

ESC ZW ttt

The parameter ttt specifies the map number of the key map to be used with the screen in which the
ESC ZW is embedded. The valid range for ttt is from 001 to AZZ, and 000.

If the value of ttt is 000, no key map is selected, including the default key map. Only the keys
explicitly enabled by the state or function are enabled. All enabled keys report their original (un-
translated) values when pressed. This usage allows the network to suspend key mapping for
specific instances.

5.12.3 Default Key Map

If desired, a default key map can be created and stored as a file at the terminal. If a default key map
exists, the terminal applies the default key map to any screen not explicitly associated with a key
map (that is, any screen that does not contain an ESC ZW control sequence).

The default key map file defines a single key map in XML format. A sample file is available at the
following location:

C:\Program Files\Diebold\Agilis EmPower\Samples\


DefaultKeyMap\default.xml

This sample file can be modified using a text editor or an XML editor. The range of keys that can be
mapped is the same as for the ESC ZX control sequence (numeric keys 1 through 9 and function
keys A through M), and the range of keys that those keys can be mapped to is the same (function
keys A through M).

Once the desired default key map has been created, the resulting default.xml file must be placed in
the following directory in order for Agilis 3 91x to apply the key map:

C:\Program Files\Diebold\Agilis EmPower\KeyMaps

5.12.4 How Key Mapping Works

Once a key map definition (ESC ZX) has been downloaded, in order to apply that key map, the
following two conditions must occur together:

 A state or function must enable one or more keypad keys


 The state or function must display a screen that selects that key map (using the ESC ZW
control sequence)

If a state or function displays a screen containing an ESC ZW, but does not enable any keys, the
key map is not applied.
The ESC ZW must be in the initial base screen displayed by the state or function to be applied. If
the ESC ZW is placed in a nested screen or in a screen that follows the base screen in a sequence
or loop, Agilis 3 91x ignores it.

When Agilis 3 91x finds an ESC ZW in a base screen, Agilis 3 91x first attempts to apply the
specified key map (unless it is 000). If Agilis 3 91x cannot apply the key map (for example, if the key
map was not downloaded to the terminal or if the key map is incorrectly formatted), Agilis 3 91x
looks for a default key map. If there is no default key map, no key map is applied, so all keys have
their original values.

NOTE

If the base screen does not contain an ESC ZW and there is no default key map at the
terminal, all keys have their original values.

When a key map is in effect, the terminal enables the keys specified by the state or function and the
keys that are mapped to the keys enabled by the state or function. For example, if the state or
function enables key A and key B, and if key C and key D are mapped to B, then key C and key D
are also enabled.

A given key map remains in effect only until the next base screen is displayed.

EXAMPLE

The following paragraphs provide an example of key mapping using the basic rules.

Assume that the network downloads the following state data for a Select Function state. (Refer to
Section 5.4.5 for a description of the Select Function state.)

Entry Value
State Number 100
1 State Type E
2 Screen Number 150
3 Time-out Next State 200
4 Cancel Next State 300
5 Function Key A Next State 400
6 Function Key B Next State 500
7 Function Key C Next State 255
8 Function Key D Next State 255
9 Function Key Buffer Location 006

When this state is processed, the terminal displays screen 150 and enables function keys A and B.
Function keys C and D are disabled.

Assume that the configuration data downloaded with screen 150 contains the following data in the
Key Mapping Data field.

ESC ZW 120
ESC ZX 120 004 31 41 32 42 33 43 34 44

This data indicates that key map 120 is to be used with screen 150, and defines key map 120 as
shown in the following table.

Physical Key Translated to


1 A
2 B
3 C
4 D

When state 100 is processed, the terminal shows screen 150, enables function keys A and B, and
activates key map 120. Because the numeric keys 1 and 2 are mapped to the enabled keys A and
B, the terminal enables keys 1 and 2 as well.

If the consumer presses key 1, the value A is reported. The terminal then places the value A in
position 6 of the Function Key Buffer and takes the Function Key A Next State exit. Similarly, if the
consumer presses key 2, the terminal places the value B in the Function Key Buffer and takes the
Function Key B Next State exit.

Keys 3 and 4 are ignored because they are mapped to keys C and D, which are disabled by the
state data.

Key A and Key B still function normally. These keys are enabled but are not mapped to any other
key, so the original key value is returned when one of these keys is pressed.

Language Banks
The terminal does not associate key maps with language banks. Key maps are applied without
regard to which language bank is currently in effect.

Maintenance Operations
The Key Mapping feature is not applicable to maintenance operations. The terminal ignores key
maps during maintenance operations.

General Conflict Situations


If a key is mapped to an enabled key, but is also directly enabled by the state or function, the key
map takes precedence. When the key is pressed, the translated key value is returned.

If a key is mapped to a disabled key, but is directly enabled by the state or function, the original
function takes precedence. When the key is pressed, the original key value is returned.

Numeric Key Restriction


Numeric keys cannot be mapped for the following processes:
 Dollar Entry state (F)
 Information Entry state (H)
 Open Account Relationship dialog (OAR)
 Information Entry state (@D), when using a format template to enable the numeric keys
 PIN entry (B, M, @D states)

These processes always enable all the numeric keys, including (if applicable) 00, 000, and the
decimal character. For these processes, the terminal reports the original (untranslated) key value
for each numeric keypress.

The translation of function keys is not affected by these processes. Function keys are translated as
defined by the key map.

Voice Volume Key and Repeat Key


If an institution is using voice guidance on the terminal and has designated a function key to control
the volume of voice messages, then key mapping should not be used to change the volume key.

Similarly. if an institution has designated a function key to repeat voice messages, then key
mapping should not be used to change the repeat key.

When defining a key map, make sure that the key map does not affect the volume key or the repeat
key. Otherwise, you might create multiple volume keys or repeat keys, or you might eliminate the
volume key or repeat key altogether.

Terminal Initiated Audit


If you use stored card data to run terminal initiated audits (TIAs), key mapping should not be used
to change the Enter key (function key J). TIA requires the use of function key J as an Enter key in
order to send the stored card data.

If you use rear card insertion to run TIAs, this restriction does not apply.

5.13 Rear Balance Feature

Agilis 3 91x supports the Rear Balance feature on rear-load versions of Opteva terminals. The Rear
Balance feature requires the optional Agilis Advanced Maintenance application. For detailed
information about the Agilis Advanced Maintenance application, refer to the Agilis Maintenance and
Agilis Advanced Maintenance User's Guide (TP-821312-001I).

The Rear Balance feature provides the ability to perform terminal balancing operations from the rear
of a rear-load terminal, using the Maintenance application's rear-screen GUI.

Although the rear balance session is initiated through the Maintenance application, rear balance
functions are defined and controlled by the network. Selecting a rear balance function at the
terminal causes the terminal to send the network a unique Consumer Request message. The
network then sends the terminal a Function Command message directing the terminal to perform
the requested function.

5.13.1 Rear Balance Entry

Rear balance sessions can only be entered through the Maintenance application's rear-screen GUI.
Rear balance activities cannot be performed using the White Rocker Switch interface. Also, rear
balance activities cannot be performed in Continuous Availability mode.

A rear balance session is initiated by selecting the Start RBM function from the Maintenance
application's Balance ATM menu. When you select Start RBM, the Maintenance application
checks to see if any card data has been stored for the operator group to which the current operator
belongs.

If there is stored card data for the operator group, then when a rear balance function request is sent
to the network, the card data is included in the Consumer Request message, based on the Track
Data Flag.

If there is no stored card data for the operator group, the operator's password (the password used
for Maintenance logon) is sent instead of stored card data. The password is placed in the PIN Data
field of the Consumer Request message. The password is not encrypted.

5.13.2 Rear Balance Functions

Reserved screen 008 is used to define the menu for rear balance functions. The Maintenance
application displays this menu during the rear balance session. The operator executes rear balance
functions by selecting the desired function from this menu.

Reserved screen 009 is used to define the message data sent to the network for rear balance
functions. For each rear balance function, this definition data specifies required operator input (if
any), what data is to be sent to the network in the Consumer Request message, and how to handle
a function failure.

Because the network has control over both the function menu (screen 008) and the function
definition data (screen 009), the rear balance mode is completely configurable by the network.

NOTE

Because reserved screens 008 and 009 are used to download function data for a rear
balance session, these screens are not consumer display screens. The network should not
attempt to show screen 008 or screen 009 on the consumer display.

Screen 008 (Rear Balance menu text)


Screen 008 defines the text of the menu entries for the Rear Balance menu. The following example
shows the format for screen 008.
FUNCTION MENU
01=PRINT THIS MENU
02=DISPLAY TOTALS
03=CASH ADDED
04=CASH ADDED - NO CENTS
05=CHANGE HI TO $20
06=UPDATE BUSINESS DATE

Each line in screen 008 must be terminated by a line feed character (hex 0A in ASCII), carriage
return character (hex 0D), or carriage return plus line feed (hex 0D 0A).

The first line (FUNCTION MENU) is optional. If this line is included in the screen data, any
descriptive text can be used. The Maintenance application ignores the text.

The second line through the last line are required lines. The first three characters of each line (01=,
02=, and so on, in this example) must be present to ensure correct parsing of the screen data, but
these characters are not used for any other purpose.
The second line (01=PRINT THIS MENU) is not used but must be present to ensure correct parsing
of the data. The text that follows the = character can be any text. The Maintenance application
ignores the text.

The remaining lines are the menu entries for the Rear Balance menu. Each of these lines must
correspond to an operator selectable function defined in screen 009. For the preceding example of
screen 008 data, the Maintenance application on an Opteva terminal would display the following
Rear Balance menu.

Screen 009 (function definition data)


The network can define up to 99 rear balance functions. Each function defined by the network must
have an associated record downloaded in screen 009. Each record must contain the fields shown in
Table 5-78.
Table 5-78 Reserved Screen 009 Fields
Field Name Number of Characters
Autoexecute/Chain Flag 1
Track Data Flag 1
Function Key Data Flag 1
Function Key Data 8
PIN Flag 1
Operator Input Flag 1
Input Screen Number 3
Expected Next State ID 3
Exit on Next State ID Mismatch 1
Data Separator 3
Additional Data Flag 1
Additional Data Variable
Function Definition Terminator 3

The fields shown in Table 5-78 are described in the following paragraphs.

Autoexecute/Chain Flag
This flag indicates whether the function executes automatically at the start of the rear balance
session or is executed automatically following another function. This field contains one character.
The following values are valid:
 0 - Execute this function by menu selection only
 A - Autoexecute this function
 1 - Chain this function to the function defined in the previous record

Autoexecute: This specification means that the function is to be executed automatically at the start
of a rear balance session. As soon as an operator has successfully started a rear balance session,
before the Rear Balance menu is displayed, the indicated function is executed and the
corresponding Consumer Request message is sent to the network. This feature can be particularly
useful for networks that want to verify the stored card data or the operator's password before the
operator selects any rear balance function.

The Maintenance application does not link menu entries to autoexecute functions. Autoexecute
functions are not selectable from the Rear Balance menu, so screen 008 must not contain any
entries for autoexecute functions.

Chain: This specification means that several functions are executed when one function is selected
from the Rear Balance menu. As soon as the Function Command message for one function has
been returned from the network and successfully processed by the terminal, another function
request can be sent to the network without additional operator action.

The function definition data for the chained functions must occupy consecutive records in screen
009. The first function in a chained series must be marked as a selectable function
(autoexecute/chain flag = 0). Each subsequent function in the chain must be marked as a chained
function (autoexecute/chain flag = 1). The functions are processed in the order defined in screen
009.

The Maintenance application does not link menu entries to functions marked as chained functions.
The functions so marked are not selectable from the Rear Balance menu, so screen 008 must not
contain any entries for those functions.

NOTE

If a function fails the Expected Next State ID check during a series of chained functions,
chaining stops and no more Consumer Request messages are sent without operator
selection.

Track Data Flag


If there is stored card data for this operator group, this flag indicates whether to include one or more
tracks of the stored card data in the Consumer Request message.

The value in this field is one decimal digit. The following values are valid:

 0 - No tracks
 1 - Track 1 only
 2 - Track 2 only
 3 - Tracks 1 and 2
 4 - Track 3 only
 5 - Tracks 1 and 3
 6 - Tracks 2 and 3
 7 - Tracks 1 and 2 and 3

NOTE

If there is no stored card data for this operator group, no track data is sent in the Consumer
Request message, regardless of the setting for the Track Data flag. Instead, the operator's
password is sent in the message, based on the PIN flag.

Function Key Data Flag


This flag indicates whether to include the data specified in the Function Key Data field in the
Consumer Request message. The value in this field is one decimal digit. The following values are
valid:
 0 - No
 1 - Yes

Function Key Data


If the flag in the preceding field is 1, the data specified in the Function Key Data field is placed in the
Consumer Request message. If the flag in the preceding field is 0, the characters in this field are
ignored (but still must be present). This field is eight characters in length.

PIN Flag
If there is no stored card data for this operator group, this flag indicates whether to send the
operator's password to the network in the Consumer Request message.

The value in this field is one decimal digit. The following values are valid:

 0 - No
 1 - Yes
If the operator's password is sent, it is placed, unencrypted, in the PIN Data field of the
Consumer Request message.
NOTE
If there is stored card data for this operator group, the PIN Data field in the Consumer
Request message will be empty, regardless of the setting for the PIN flag. Instead,
the stored card data is sent in the message, based on the Track Data flag.
Operator Input Flag
If operator input is required, this flag specifies the format to use for entering the data, and where to
store the input. The value in this field is one hexadecimal digit. The following values are valid.
Value Format Buffer
0 No operator input is required
1 Non-dollar Dollar Buffer
2 Non-dollar General Purpose Buffer B
3 Non-dollar General Purpose Buffer C
4 Reserved. Do not use.
5 Dollar Dollar Buffer
6 Dollar General Purpose Buffer B
7 Dollar General Purpose Buffer C
8 Reserved. Do not use.
9 Dollar, no cents Dollar Buffer
A Dollar, no cents General Purpose Buffer B
B Dollar, no cents General Purpose Buffer C
D Defined by download Dollar Buffer

Operator input is allowed in the following formats:

 Dollar format (similar to that used in a Dollar Entry state)


 Non-dollar format (similar to that used in an Information Entry state)
 Dollar format with no cents (similar to that used in a Dollar Entry state with a Cent Check
state)

In dollar format entry (including dollar, no cents), the Maintenance application uses eight or twelve
digits and two or three decimal places, depending on how the terminal is currently configured. In
non-dollar format entry, input is restricted to 15 characters.

Operator input, regardless of the format, can be stored in the following buffers:

 General Purpose Buffer B


 General Purpose Buffer C
 Dollar Buffer

If the operator input is stored in the Dollar Buffer , then when the Consumer Request message is
built, the data will be padded or truncated (to eight or twelve characters) to fit the Dollar and Cents
Keyboard Entry field.

Input Screen Number


If operator input is required, this field contains the number of the screen used to prompt the
operator for input. If no operator input is required, these characters are ignored (but still must be
present). This field is three characters in length.

Expected Next State ID


This field contains a three-digit number that the Maintenance application compares with the Next
State ID field of the next Function Command message. If the value in the Function Command
message matches the value in the Expected Next State ID field, the Maintenance application
proceeds with normal processing of the Function Command message. If the value in the Function
Command message does not match the value in the Expected Next State ID field, the Maintenance
application takes the error recovery action specified in the Exit on Next State ID Mismatch field
instead of continuing to process the Function Command message.

The following values are valid in this field:

 000 through 249 - Expected Next State ID


 255 - Do not check the Next State ID

Exit on Next State ID Mismatch


If the value in the Expected Next State ID field does not match the value in the Next State ID field in
the Function Command message, this field specifies which error recovery action to take. This field
contains one character. The following values are valid:
 0 - Display reserved screen 902 for 10 seconds, then redisplay the Rear Balance menu
 1 - Exit the rear balance session immediately

If the value in the Expected Next State ID field is 255, this field is ignored (but still must be present).

Data Separator
A capital Y enclosed in single quotes ('Y') is used as a data separator. The traditional field
separator, hex 1C, cannot be used because it is not a valid screen data character.

Additional Data Flag


This field defines whether additional data should be sent to the network in the Consumer Request
message, and which buffer to use for the additional data. If additional data is required for this
function, the additional data is specified in the Additional Data field, which follows this flag. This field
contains one character. The following values are valid:
 0 - There is no additional data to send
 B - Place additional data in General Purpose Buffer B
 C - Place additional data in General Purpose Buffer C
 D - Place additional data in the Dollar Buffer

NOTE

If the function definition data specifies that both the operator input and the additional data
are to be placed in the same buffer, the operator input is placed into the specified buffer, and
the additional data is not included in the Consumer Request message.

Additional Data
This field contains the additional data to be sent in the Consumer Request message, as indicated in
the Additional Data Flag field. If the value in the Additional Data Flag field is 0, this field can be
omitted. The length of this field is variable.

NOTE
If the additional data is placed in the Dollar Buffer , then when the Consumer Request
message is built, the data will be padded or truncated (to eight or twelve characters) to fit the
Dollar and Cents Keyboard Entry field.

Function Definition Terminator


A capital Z enclosed in single quotes ('Z') is used as a function definition terminator. The traditional
field separator, hex 1C, cannot be used because it is not a valid screen data character.

5.13.3 Network Activity during a Rear Balance Function

Once the terminal has built the Consumer Request message from the function definition data in
screen 009 and any required operator input, the terminal sends the message to the network. The
terminal displays a PLEASE WAIT message while it waits for a Function Command message from
the network. If timer 03 (network response timeout interval) expires, the Maintenance application
displays an error message, then returns to Maintenance mode.

When the terminal receives a Function Command message from the network, it attempts to process
it. Note that if the same function commands are used for terminal balancing from the front, receipts
might be delivered through the front on rear-load terminals. To avoid this, the terminal's balancing
options can be set to print data to the journal printer only (through the Agilis Configuration Utility).
When this option is set, all receipt print data received during a rear balance session is printed on
the journal printer instead of the receipt printer.

If the Function Command message results in either a command reject or a solicited device fault
status, the terminal reports the fault to the network. The Maintenance application continues to
display PLEASE WAIT while the terminal waits for another Function Command message. Again,
timer 03 is monitored in case of a communications timeout.

If the value in the Expected Next State ID field in the current function definition data is not set to
255, the next state specified in the Function Command message is compared to the Expected Next
State ID. If they are not equal, the Maintenance application handles this error as specified in the
Exit on Next State ID Mismatch field of the defined data in screen 009. If the value in the Exit on
Next State ID Mismatch field is 0, screen 902 is displayed for 10 seconds, then the Rear Balance
menu is redisplayed, and the operator is allowed to select another rear balance function. If the
value in the Exit on Next State ID Mismatch field is 1, the rear balance session is immediately
exited. Immediately exiting might be appropriate in situations such as failure to verify the stored
card data or failure to verify the operator's password. Displaying screen 902 might be more
appropriate in other situations. Screen 902 might display something like FUNCTION FAILURE.

5.13.4 Exiting Rear Balance Mode

If the operator chooses to exit a rear balance session or is automatically exited because of a
mismatch with the expected Next State ID, the Maintenance application returns to Maintenance
mode. If there is any print data on the receipt, the receipt is delivered.

5.13.5 Example Rear Balance Implementation (Opteva terminal)

This section provides an example of a Rear Balance implementation on an Opteva terminal. In this
example, cash totals for the terminal are maintained at the network. When cash is added at the
terminal, the network totals must be updated to remain accurate. The Rear Balance feature is used
to report to the network the amount of cash added at the terminal.

NOTE
When input is required from the operator, RBM displays a screen prompting the operator for
the type of input data. Although the theme of the screen that RBM displays is predefined,
RBM requires some specific information to prompt the operator for the type of input data.
This information is obtained from the screen number specified in the Input Screen Number
parameter as configured in the current RBM record defined in screen 009. The screen
specified must contain only text (no screen control codes) and it must be limited to an
amount that displays properly on the screen.

EXAMPLE

Consider the following sample of downloaded screen 301 for CASH ADDED operation with
text ENTER AMOUNT. The Maintenance application displays a dialog box using the text from
screen 301 to prompt the operator for input, as depicted in Step 4 of Cash Added Operation.

<?xml version="1.0"?>
<Screen xmlns="http://www.diebold.com/91x/1.0">
<ConsumerDisplayScreen>
<ScreenNumber>301</ScreenNumber>
<ScreenData>
<Command>
<Print>ENTER AMOUNT</Print>
</Command>
</ScreenData>
</ConsumerDisplayScreen>
</Screen>

Rear Balance Configuration


In this example, the network downloads screens 008, 009, 301, and 902 for use during a rear
balance session. Screen 008 contains the following Rear Balance menu data.
FUNCTION MENU
01=PRINT THIS MENU
02=Print Totals
03=ATM Out Of Serv
04=Cash Added
05=Cash Removed
06=Deposits Cleared

Screen 009 contains the function definition data shown in Table 5-79.

Table 5-79 Reserved Screen 009


Exit
on
Nex
Tra t Functio
ck Functi Input Expec Stat n
Autoexe Dat on PI Opera Scre ted e ID Additio Definiti
cute/ a Key Functi N tor en Next Mis- Data nal Additio on
Chain Fla Data on Key Fla Input Num State mat Separ Data nal Termin
Flag g Flag Data g Flag ber ID ch ator Flag Data ator
A 2 1 DDDDD 1 0 000 110 1 'Y' 0 'Z'
DDD
0 2 1 AAA 0 0 000 110 0 'Y' 0 'Z'
bbbbb
1 2 1 AAB 0 0 000 110 0 'Y' 0 'Z'
bbbbb
0 2 1 D 0 0 000 110 0 'Y' 0 'Z'
bbbbb
bb
0 2 1 ABA 0 5 301 110 0 'Y' 0 'Z'
bbbbb
0 2 1 ABB 0 5 301 110 0 'Y' 0 'Z'
bbbbb
0 2 1 BA 0 0 000 110 0 'Y' 0 'Z'
bbbbb
b

Screen 301 contains the following text to prompt for operator input.

ENTER AMOUNT

Screen 902 contains the following text to indicate an error in function processing.

FUNCTION FAILURE

Cash Added Operation


The following sample transaction flow is for a Cash Added operation:

1. While the terminal is in service, the operator logs on to the Maintenance application and
selects Start RBM from the Balance ATM menu.

This example assumes that there is stored card data for the operator's group.

2. Since the first function listed in screen 009 has an A in the Autoexecute field, the terminal
immediately sends the specified Consumer Request message to the network. The
Consumer Request message contains the following data:
o Track 2 stored card data in the Track 2 Data field
o DDDDDDDD in the Function Key Buffer field
3. The Function Command message sent from the network has a value in the Next State ID
field of 110, which matches the Expected Good Next State. The Maintenance application
displays the Rear Balance menu, which contains the following menu items:
4. Print Totals
5. ATM Out Of Serv
6. Cash Added
7. Cash Removed
Deposits Cleared

8. The operator selects the Cash Added function. The Maintenance application displays a
dialog box using the text from screen 301 to prompt the operator for input, as shown in the
following illustration.
9. The operator types in the amount and clicks on the Next button.
10. The terminal sends up a Consumer Request message with the following data:
o Track 2 stored card data in the Track 2 Data field
o ABA in the Function Key Buffer field
o The transaction amount in the Dollar and Cents Keyboard Entry field.
11. The network updates its cash totals for the terminal, then sends a Function Command
message with the following data:
o Function ID 5 (set next state and print)
o Next State ID of 110

At the network's discretion, the message could include the printer flag and printer data
needed to log the event on the journal printer.

12. The terminal performs the Set Next State and Print function.
13. The terminal checks that the next state specified in the Function Command message is
110. If it is not, a dialog box using the text from screen 902 (FUNCTION FAILURE) is
displayed for 10 seconds.
14. The Maintenance application displays the Rear Balance menu again.
15. The operator ends the balance transactions by clicking the Cancel button on the Rear
Balance menu.
16. If any data has been printed on the receipt printer, a receipt is delivered.

5.14 Web Browser Support

This section describes web browser functionality for the consumer display.

The following table lists the topics covered in this section.

For more information about... Refer to...


Enhancing Legacy Screens with HTMOVRLY.TXT Section 5.14.1
ActiveX methods and properties Section 5.14.2

5.14.1 Enhancing Legacy Screens with HTMOVRLY.TXT

You can enhance existing, non-browser screens with browser support. This is done by overlaying a
browser window on an existing screen. The browser windows do not shift or resize any non-browser
screen contents; they simply overlay the specified area of the non-browser screens. This enables
you to provide browser support without changing your existing screens.

To enhance non-browser screens, you need to create the file HTMOVRLY.TXT in the following
directory:

C:\Program Files\Diebold\Agilis Empower\Screens\Themes\91x

The contents of this file tells Agilis 3 91x which screens get overlays and what those overlays are.

HTMOVRLY.TXT is read at system startup or anytime that the LOADCRT.EXE file is executed. By
running LOADCRT.EXE, you can make changes to the HTMOVRLY.TXT file without shutting down
the terminal.

5.14.1.1 Original Format for an Entry

This section describes the original format for an HTMOVRLY.TXT entry. This format is still valid for
the latest Agilis 3 91x systems.

NOTE

When the original format is used for an entry, the browser window does not carry over from
screen to screen and must be specified for each screen for which browser display is
desired.

The original format for an HTMOVRLY.TXT entry is as follows:

nnn,url,ssss,p,ttt,bbb

Where,
 nnn is the screen number of the non-browser screen to overlay or the new screen to be
defined by this entry.
 url specifies the web page or local document to be displayed by the browser.
 ssss refers to the size of the browser window. The size is measured in global coordinates,
ranging from 0000 through 9999. For a detailed description of global coordinates, refer to
Section 5.7.26.
 p refers to the position of the browser window. The position p can have the following values:
o T - Positions the browser window along the top edge of the screen, with a height
ssss.
o B - Positions the browser window along the bottom edge of the screen, with a
height ssss.
o L - Positions the browser window along the left edge of the screen, with a width
ssss.
o R - Positions the browser window along the right edge of the screen, with a width
ssss.
o F - Displays a fullscreen browser window, where the size is assumed to be the
entire screen, and the parameter ssss is ignored.
o M - Maintains the currently-displayed browser window without reloading the web
page or changing its size (underlying non-browser screen data is still processed,
even when the browser window is a full screen window). If a browser window is not
currently visible, the terminal ignores this control sequence. Although p is the only
parameter that is processed, all the parameters must be present to ensure correct
parsing of the control sequence.
 ttt specifies the number of seconds to wait for a URL to successfully load, ranging from 000
through 999. A value of 000 in this field causes the current default value to be used. A value
of 000 causes the system to use the Browser Timeout value set in the Agilis Configuration
Utility.
 bbb refers to a backup screen number that must be provided for full screen browser
windows (when the value of p is F), to be used in the event that the browser is unable to
load the specified URL. This backup screen is processed exactly like an inserted screen
normally would be, such as an ESC I or SO sequence. This field is ignored when p is set to
T, B, L, or R . In these cases, the browser simply does not appear if the URL fails to load,
leaving the current full screen display.

EXAMPLE

Refer to the following example of an HTMOVRLY.TXT file.

025,www.topbanner.com,3333,T,000,000
032,www.LeftEdgeBanner.com,2500,L,000,000

This example file directs the terminal to overlay screen 025 with a web banner on the top third of
the screen, and overlay screen 032 with a web banner on the left quarter of the screen. The third
line of the example file uses the M position parameter to provide smooth browser screen transitions
across an Open Account Relationship (OAR) dialog (OAR uses reserved screen 900).

5.14.1.2 LANG Tag (Agilis 91x version 3.0 or later)


The optional LANG tag allows you to define language-specific browser overlays in the
HTMOVRLY.TXT file. The LANG tag has the following format:

[LANGnnn]

Where, nnn is a language bank number. The square brackets are required as part of the tag.

The LANG tag must be placed on a separate line in the HTMOVRLY.TXT file. All lines following the
LANG tag (up to the next LANG tag or the end of the file) define browser overlays for screens in the
specified language bank. The file can contain multiple LANG tags to define browser overlays for
multiple language banks.

Any lines preceding the first LANG tag define default browser overlays. If there are no LANG tags in
the file, all the browser overlays are default browser overlays. Default browser overlays apply to all
language banks, unless superseded by a language-specific browser overlay.

EXAMPLE

Refer to the following example of an HTMOVRLY.TXT file.

001, C:\Diebold\TCS\ADP00\Offline.htm, 0000, F, 020, 001


002, C:\Diebold\TCS\ADP00\OutOfService.htm, 0000, F, 020, 001
010, C:\Diebold\TCS\ADP00\Welcome_English.htm, 0000, F, 020, 001
011, C:\Diebold\TCS\ADP00\LangSelect.htm, 0000, F, 020, 001

[LANG001]
010, C:\Diebold\TCS\ADP00\Welcome_Spanish.htm, 0000, F, 020, 001

[LANG002]
010, C:\Diebold\TCS\ADP00\Welcome_French.htm, 0000, F, 020, 001
021, C:\Diebold\TCS\ADP00\OAR_French.htm, 0000, F, 020, 001

The first four lines of this file define default browser overlays for screens 001, 002, 010, and 011.

When language bank 000 is in effect, screens 001, 002, 010, and 011 will be displayed with the
default browser overlays defined in the first four lines.

When language bank 001 is in effect, screen 010 will be displayed with the Welcome_Spanish.htm
overlay. Screens 001, 002, and 011 will be displayed with the default browser overlays.

When language bank 002 is in effect, screen 010 will be displayed with the Welcome_French.htm
overlay, and screen 021 will be displayed with the OAR_French.htm overlay. Screens 001, 002, and
011 will be displayed with the default browser overlays.

5.14.2 ActiveX Methods and Properties

An ActiveX control called TCSDataControl can be embedded in a web page. This control exposes
a number of methods and properties that allow a browser window to interact with Agilis 3 91x and
with other persistent browser windows. These methods and properties are described in the sections
listed in the following table.

Methods and Properties Refer to...


Get Current FIT Section 5.14.2.1
Get or Set Language Bank Section 5.14.2.2
Headphone Insertion Section 5.14.2.3
Agilis Logger Messages Section 5.14.2.4
Voice Playback Signals Section 5.14.2.5
Beeper Control Section 5.14.2.6
Play Key Press Section 5.14.2.7
Get Buffer Data Section 5.14.2.8
Set Buffer Data Section 5.14.2.9
Set Next State Section 5.14.2.10

NOTE

All of the examples in this section are JavaScript examples.

TCSDataControl can be embedded in a web page in a variety of ways. For example,


TCSDataControl can be embedded using an Object tag or a JavaScript ActiveObject call, as shown
in the following table.

Using an Object tag:


<OBJECT classid="clsid:ED5BDB78-5602-407B-80A9-450F0BFE86AD">
</OBJECT>
Using a JavaScript ActiveObject call:
TCSDataObj = new ActiveXObject("TCSDataControl.TCSDataExchange");

5.14.2.1 Get Current FIT

The CurrentFIT property allows a web page to retrieve the current FIT number. The data type for
this property is defined as follows:

CurrentFIT [long / read-only]

When the web page reads this property, TCSDataControl retrieves the current FIT number from
Agilis 3 91x.

EXAMPLE

Var currentFIT;
currentFIT = TCSDataObj.CurrentFIT;

5.14.2.2 Get or Set Language Bank

The LanguageBank property allows a web page to retrieve the current language bank number or to
activate a specified language bank. The data type for this property is defined as follows:

LanguageBank [long]
When the web page reads this property, TCSDataControl retrieves the current language bank
number from Agilis 3 91x.

When the web page writes this property, TCSDataControl directs Agilis 3 91x to update the current
language bank number and activate the specified language bank.

EXAMPLE

The following sample code reads the current language bank number.

Var langBank;
langBank = TCSDataObj.LanguageBank;

The following sample code activates language bank 2.

Var langBank = 2;

TCSDataObj.LanguageBank = langBank;

5.14.2.3 Headphone Insertion

The HeadphoneStatus property and Headphone events allow a web page to determine the status of
headphones in the system. The HeadphoneStatus property allows the web page to query the
current headphone status at any time. The data type for this property is defined as follows:

HeadphoneStatus [Boolean / read-only]

A value of true indicates that the headphones are currently plugged in (inserted) at the terminal. A
value of false indicates that headphones are not currently plugged in.

TCSDataControl also fires Headphone events when the headphone status changes. The following
event is fired when Agilis 3 91x detects that headphones have been inserted:

onHeadphonesInserted()

The following event is fired when Agilis 3 91x detects that headphones have been removed:

onHeadphonesRemoved()

As this functionality is event-driven, it eliminates the need for the web page to continuously poll
Agilis 3 91x for the current headphone status.

EXAMPLE

The following sample code allows a web page to retrieve the current headphone status:

Var headphones;
headphones = TCSDataObj.HeadphoneStatus;

The following sample code allows a web page to register and receive Headphone events:

<SCRIPT FOR="TCSDataObj" EVENT="onHeadphonesInserted()">


alert("Just received Headphones Inserted event!!");
</SCRIPT>

<SCRIPT FOR="TCSDataObj" EVENT="onHeadphonesRemoved()">


alert("Just received Headphones Removed event!!");
</SCRIPT>

5.14.2.4 Agilis Logger Messages

The Logger methods send trace messages to the Agilis Logger application. TCSDataControl
provides the following methods:

 LoggerTrace - Sends a message with Trace-level severity.


 LoggerInfo - Sends a message with Information-level severity.
 LoggerWarn - Sends a message with Warning-level severity.
 LoggerError - Sends a message with Error-level severity.
 LoggerFatal - Sends a message with Fatal-level severity.
 LoggerSource - Specifies the source ID for subsequent Agilis Logger messages. This
method is optional. If LoggerSource is not used, the web page uses the default source ID,
TCS.WEB.

The Logger methods have the following signatures:

void LoggerTrace(string message)


void LoggerInfo(string message)
void LoggerWarn(string message)
void LoggerError(string message)
void LoggerFatal(string message)
void LoggerSource(string sourceID)

EXAMPLE

The following LoggerInfo call adds an entry to the Agilis Logger with Information-level severity,
using the default source ID (TCS.WEB):

TCSDataObj.LoggerInfo(“This message is written to


the Agilis Logger file.");

5.14.2.5 Voice Playback Signals

The StartVoice and StopVoice methods allow a web page to signal when it starts or stops voice
playback. Agilis 3 91x uses this signal to prevent the playing of any other voice messages at the
same time. Also, Agilis 3 91x delays the start of some consumer response timers while a voice
message is playing.

The StartVoice method notifies Agilis 3 91x that voice playback has begun. StartVoice has the
following signature:

void StartVoice()
The StopVoice method notifies Agilis 3 91x that voice playback has stopped. StopVoice has the
following signature:

void StopVoice()

The QueueVoiceEvent method allows a web page to signal a voice event to the Agilis 91x voice
application. Voice events can be requests to repeat a message, adjust volume, play feedback for a
numeric key press or request that a stored voice prompting message be played.

QueueVoiceEvent(string VoiceEvent)

The ClearStoredVoiceCmds method is called for a base screen to clear the voice commands still
held in the queue.

ClearStoredVoiceCmds()

The SetVoicePromptMessage adds a new prompting message to the queue.

The parameters are the voice prompt message string and the voiceControl enum which indicates
how the voice prompt message should be processed. A value of 0 indicates purge the message
queue. A value of 1 indicates start new message queue with this message. A value of 2 indicates
add this message the current message queue.

SetVoicePromptMessage(string promptMessage, long voiceControl)

The SetVoiceMessagesComplete method signals that all necessary voice commands have been
posted.

SetVoiceMessagesComplete()

The SetVoiceMessagesComplete method signals that all necessary voice commands have been
posted.

SetVoiceMessagesComplete()

The SetVoiceKeyFeedbackMessage method registers a voice key feedback message. The


parameters are voiceFeedbackKey string which indicates the FKEY this message is associated and
keyFeedbackMessage string which indicates the message to speak when the key is pressed.

SetVoiceKeyFeedbackMessage(string voiceFeedbackKey, string


keyFeedbackMessage)

EXAMPLE

The following calls notify Agilis 3 91x that voice playback has started and then stopped:

TCSDataObj.StartVoice();
// Script waits until voice playback has finished
TCSDataObj.StopVoice();

5.14.2.6 Beeper Control


The BeeperEnable and BeeperDisable methods direct Agilis 3 91x to enable or disable the beeper.
As an example, these methods can be used to disable the beeper during voice playback, then re-
enable the beeper after voice playback has stopped.

NOTE

These methods do not turn the beeper on or off. Instead, the methods signal the rest of
Agilis 3 91x as to whether it is allowable or not to turn the beeper on.

The BeeperEnable method directs Agilis 3 91x to enable the beeper. BeeperEnable has the
following signature:

void BeeperEnable()

The BeeperDisable method directs Agilis 3 91x to disable the beeper. BeeperDisable has the
following signature:

void BeeperDisable()

EXAMPLE

The following calls direct Agilis 3 91x to disable beeping during voice playback:

TCSDataObj.BeeperDisable();

// Script waits until voice playback has finished

TCSDataObj.BeeperEnable();

5.14.2.7 Play Key Press

The PlayKeypress method directs Agilis 91x to play the beep sound associated with a keypress.

PlayKeypress()

5.14.2.8 Get Buffer Data

The GetTCSBuffer method retrieves data stored in a buffer. GetTCSBuffer has the following
signature:

string GetTCSBuffer(long bufferID, long templateID)

The bufferID parameter is a three-digit decimal number that specifies which buffer to query. bufferID
must be a valid buffer number (Section 5.1). The templateID parameter specifies the format
template number to use (if any) for formatting the data. If no formatting is desired, templateID
should be set to 0. The buffer data is returned as a string specified by bufferData.

NOTE

GetTCSBuffer can be used as a direct replacement for the getbuf reserved URL used in
earlier versions of Agilis 3 91x.
EXAMPLE

The following calls retrieve the customer's name (track 1 data) from buffer 078 (Buffer N) and write
the name into the Agilis Logger file (no format template is specified):

TCSDataObj.LoggerInfo(“Name from Track 1 = "


+ TCSDataObj.GetTCSBuffer(78, 0) );

5.14.2.9 Set Buffer Data

The SetTCSBuffer method writes a string into a buffer. SetTCSBuffer has the following signature:

void SetTCSBuffer(long bufferID, string bufferData)

The bufferID parameter is a three-digit decimal number that specifies which buffer to write to.
bufferID must be a valid buffer number (Section 5.1). The parameter bufferData specifies the string
to write to the specified buffer.

NOTE

SetTCSBuffer can be used as a direct replacement for the setbuf reserved URL used in
earlier versions of Agilis 3 91x.

EXAMPLE

The following call writes the text Cash Withdrawal to buffer 066 (General Purpose Buffer B):

TCSDataObj.SetTCSBuffer(66, “Cash Withdrawal");

5.14.2.10 Set Next State

The SetNextState method sets the next state for Agilis 3 91x to process. SetNextState has the
following signature:

void SetNextState(string stateNumber)

The stateNumber parameter specifies the 3-digit state number of the next state.

NOTE

SetNextState can be used as a direct replacement for the tcsstate reserved URL used in
earlier versions of Agilis 3 91x.

EXAMPLE

The following calls set the next state to state number 011 and state number ADT, respectively:

TCSDataObj.SetNextState(“011");

TCSDataObj.SetNextState(“ADT");
5.15 Write Command 3 Message (terminal parameters, LUNO, timers)

The Write Command 3 message configures terminal parameters, the LUNO, and terminal timers.
The format of the Write Command 3 message is shown in Table 5-80. This message downloads the
logical unit number (LUNO), parameters and timers into terminal memory. Because this command
defines the LUNO and communications timers, use this configuration message first after a power-
up.

Table 5-80 Write Command 3 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) 1 1
Modifier (Parameters++Timers) 3 1
Field Separator (FS) hex 1C 1
[1] [2]
Reserved --- 1
[1]
Reserved X 3
[1]
Reserved X 3
[1]
Reserved X 3
[1]
Reserved X 3
Miscellaneous Features 1 --- 3
Reserved 000 3
Miscellaneous Features 2 --- 3
Reserved 000 3
[4]
[ Reserved ] [ 000 ] [3]
[4]
[ Miscellaneous Features 3 ] [---] [3]
[5]
[ Miscellaneous Features 4 ] [---] [3]
Field Separator (FS) hex 1C 1
Logical Unit Number (LUNO) --- 3
Field Separator (FS) hex 1C 1
Timer Number --- 2
Number of Seconds --- 3
[3]
[ Timer Number ] [---] [2]
[3]
[ Number of Seconds ] [---] [3]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields is reserved for compatibility with mixed networks running TABS terminals.
[2]
This field is reserved for compatibility with ix Series terminals equipped with a camera. Otherwise,
the terminal ignores this field.
[3]
This set of fields (Timer Number/Number of Seconds) can be repeated as necessary.
[4]
If you are including the Miscellaneous Features 3 field, you must also include the Reserved field
that precedes it.
[5]
If you are including the Miscellaneous Features 4 field, you must also include the Miscellaneous
Features 3 field and the Reserved field that precede it.

The following paragraphs describe the fields specific to the Write Command 3 message.

Miscellaneous Features 1
Field Size: 3 characters
Valid Range: 000 through 255
Description: The value in the Miscellaneous Features 1 field is the sum of the weights of the
features selected. Agilis 3 91x allows the network to select the features listed in the following table.
Weight Features
128 Append rollover counts
64 Decimal style
32 Reserved
16 Dollar decimal places
8 Dollar Buffer size
[1]
4 Reserved
2 Automatic return to previous mode
1 Separate Ready response
[1]
This bit is used by TABS terminals for the Fault Status Print feature . The bit is reserved to
provide compatibility with mixed networks running both TABS and Agilis 3 91x terminals.

Append Rollover Counts


The Append Rollover Counts feature tells the terminal to append rollover counts to Consumer
Request messages and Solicited Status messages. The rollover counts consist of a field separator
and four groups of three decimal digits, one group for each possible dispense position of the bill
dispenser. The three digits represent the low-order byte of the actual dispense counters available at
the terminal from the Supply menu. The range of these rollover counts is 000 to 255. The counters
continually increase from 000 and periodically roll over from 255 to 000 as bills are dispensed from
each position.

Decimal Style
The Decimal Style feature directs the terminal to use the decimal format for the entry and display of
transaction amounts during a Dollar Entry state (Section 5.4.6). (If this feature is not selected, the
terminal uses the calculator format for transaction amount entry and display.) This feature also
allows the consumer to insert a decimal point or equivalent delimiter at the desired position in the
transaction amount.
Using this feature, all numerical digits entered before pressing the decimal point key represent
whole currency units (for example, dollars) and start in the left-most position. All numerical digits
entered after pressing the decimal point key appear to the right of the decimal point, starting with
the left-most position.

The following examples assume that the Dollar Buffer Size feature is not selected (that is,
transaction amounts are limited to eight digits, with two decimal positions only). These examples
also use the default values for screens 004 and 006 (Section 5.9).

EXAMPLE 1

Entry of three digits of U.S. dollars and two digits of cents appears on the consumer display as
follows:

Before entry $
1st digit $ 1
2nd digit $ 12
3rd digit $ 123
Decimal key $ 123.
4th digit $ 123.4
5th digit $ 123.45

The entry session terminates with the keypress of a function key or Cancel key. After the second
decimal digit (5 in this case), the numeric digits of the keypad are disabled and do not respond to
further key presses. The consumer must press a function key or the Cancel key to end the entry.

EXAMPLE 2

The entry of U.S. cents only appears on the consumer display as follows:

Before entry $
Decimal key $ 0.
1st digit $ 0.1
2nd digit $ 0.12

The entry session terminates with the keypress of a function key or Cancel key. After the second
decimal digit (2 in this case), the numeric digits of the keypad are disabled and do not respond to
further key presses. The consumer must press a function key or the Cancel key to end the entry.

EXAMPLE 3

The entry of three digits of U.S. dollars and one digit of cents appears on the consumer display as
follows:

Before entry $
1st digit $ 1
2nd digit $ 12
3rd digit $ 123
Decimal key $ 123.
4th digit $ 123.4

The entry session terminates with the keypress of a function key or Cancel key, and the terminal
fills in (for the network) the missing zero. Or the consumer can enter a final zero before terminating
the amount entry. Likewise, if only a whole-dollar amount was entered, no decimal digits appear on
the consumer display, but the terminal fills in the 00 for the cents digits.

EXAMPLE 4

The entry of six digits of U.S. dollars and two digits of cents appears on the consumer display as
follows:

Before entry $
1st digit $ 1
2nd digit $ 12
3rd digit $ 123
4th digit $ 1234
5th digit $ 12345
6th digit $ 123456.
(decimal point is automatically displayed)
7th digit $ 123456.7
8th digit $ 123456.78

At this point, the numeric keys are disabled and the Cancel and function keys are enabled. Notice
that the consumer cannot enter too many dollar digits. The decimal point can be entered after the
sixth digit, but it is not necessary. The seventh numeric digit is automatically taken as the first cents
digit.

Dollar Decimal Places


If the Dollar Buffer Size feature is selected (that is, 12-digit transaction amounts are allowed), the
Dollar Decimal Places feature controls the number of decimal places used for the operation of the
Dollar Entry state (Section 5.4.6) and the Cent Check state (Section 5.4.7). If this feature is
selected, transaction amounts have three decimal places. If the feature is not selected, transaction
amounts have two decimal places.

NOTE

If the Dollar Buffer Size feature is not selected, the number of decimal places is always two.
Selecting the Dollar Decimal Places feature has no effect on the number of decimal places.

Dollar Buffer Size


The Dollar Buffer Size feature controls the maximum number of numerical digits the consumer can
enter during a Dollar Entry state (Section 5.4.6) and the size of the Dollar and Cents Keyboard
Entry field in the Consumer Request message (Section 6.1). If this feature is selected, the
consumer can enter up to 12 digits for a transaction amount, and the Dollar and Cents Keyboard
Entry field (when sent to the network) is 12 characters long. If this feature is not selected, the
consumer entry is limited to 8 digits maximum, and the Dollar and Cents Keyboard Entry field (when
sent) is 8 characters long.

NOTE

If the terminal uses a 912 International message format (set in the Agilis Configuration
Utility), the Dollar Buffer Size feature is automatically selected.

Automatic Return to Previous Mode


The Automatic Return to Previous Mode feature can only be modified through the Agilis
Configuration Utility. The terminal ignores this weight component.
Separate Ready Response
Selecting the Separate Ready Response feature enables the terminal to use a Solicited Status
message that contains a B status descriptor. The terminal uses this status descriptor to indicate a
Ready condition in response to a Function Command message instead of using a 9 status
descriptor.

Miscellaneous Features 2
Field Size: 3 characters
Valid Range: 000 through 255
Description: The value in the Miscellaneous Features 2 field is the sum of the weights of the
features selected. Agilis 3 91x allows the network to select the following features:
 Reject Reason codes to network (Section 6.2.11)
 Expanded Hardware Configuration status (Section 7.4.2)
 Maintenance mode log to network (Section 6.3)
 MDS status to network (Section 6.3)

Weight Features
128 Reserved
64 Reject Reason codes to network
32 MDS status to network
16 Maintenance mode log to network
8 Reserved
4 Expanded Hardware Configuration status
2 Reserved
1 Reserved

Miscellaneous Features 3
Field Size: 3 characters
Valid Range: 000 through 255
Description: The value in the Miscellaneous Features 3 field is the sum of the weights of the
features selected. Agilis 3 91x allows the network to select the features listed in the following table.
Weight Features
128 Enable OK and correction keys for 9000-style states (B, M, H)
64 Transaction Verification Status feature
32 No Retract feature
16 Additional hardware configuration data
8 Message sequence number in Solicited Status messages
4 Extended range for message coordination number
2 Reserved
1 Double expanded Hardware Configuration status

Enable OK and Correction Keys for 9000-style States


Selecting the Enable OK and Correction Keys for 9000-style States feature causes the terminal to
enable the OK (J) and Correction (K) keys during the 9000-style PIN entry and information entry
states (B, M, and H). If this feature is selected, pressing the Correction key during PIN entry erases
the PIN digits already entered. Pressing the OK key during PIN entry ends PIN entry and causes a
PIN check to be performed. Pressing the Correction key during the information entry state erases all
digits previously entered. Pressing the OK key during the information entry state causes the
terminal to take the Function Key A Next State exit. If Function Key A Next State is set to 255, the
OK key is deactivated.

The Enable OK and Correction Keys feature is not applicable if an extension state is used with B, M
or H states, which enables the ‘K' (Clear) key. However, this feature is applicable if the extension
state only enables keys other than the ‘K' key. This feature is always applicable when using the OK
(Enter) key.

For more information about the 9000-style extension states, refer to the section Section 5.4.

NOTE

There is an option to designate a function key (J, K, L, or M) to be used by the consumer to


control the volume (loudness) of voice messages. If a function key has been assigned to
voice volume control, Agilis 91x ignores any attempt to enable that function key for any
other use during a consumer session.

For more information about volume control, refer to the section Section 5.11.

Transaction Verification Status


The Transaction Verification Status feature gives the network information about any cash delivered
to the consumer during execution of the previous function command. This feature allows the
financial institution to obtain additional information that can be used for balancing procedures, and
makes it easier to verify a transaction in case of a power failure or communication problems during
the transaction.

When the Transaction Verification Status feature is enabled, transaction verification status data is
added to the Consumer Request message (Section 6.1). This data includes the following items:

 Transaction serial number from previous the function command


 Response to the previous function command
 Whether or not a retract operation occurred
 Bill denomination IDs and bill delivered counts for each dispense position
 Coin denomination IDs and coin delivered counts for each dispense position (if applicable)

No Retract Feature
The No Retract feature allows the terminal to present cash to the consumer and, after a timeout, to
leave the cash accessible (in the presenting position), instead of retracting or dumping the cash.

NOTE

Although this feature is enabled or disabled using the Write Command 3 message, the
specific characteristics of the feature must be configured using the ACU.
For additional details about the No Retract feature, refer to Section 3.1.7.

Additional Hardware Configuration Data


Selecting the Additional Hardware Configuration Data feature tells the terminal to append additional
Hardware Configuration status data to the Hardware Configuration status message (Section 7.4.2).

When the Additional Hardware Configuration Data feature is selected, the expanded Hardware
Configuration status bytes are also sent, regardless of the setting of the Expanded Hardware
Configuration Status feature (Miscellaneous Features 2 field).

Message Sequence Number in Solicited Status Messages


Selecting the Message Sequence Number in Solicited Status Messages feature tells the terminal to
transmit the message sequence number it received in a Function Command message, Operational
Command message, or Write Command message back to the network in the corresponding
Solicited Status message. If message authentication (MAC) is used, Function Command messages
contain a time variant number in place of the message sequence number. If this is the case, then
the Solicited Status message sent in response to a Function Command message returns that time
variant number rather than a message sequence number.

Extended Range for Message Coordination Number


Selecting the Extended Range for Message Coordination Number feature increases the range for
message coordination numbers from 31 through 3F (hex) to 31 through 7E (hex).

Double Expanded Hardware Configuration Status


If the Double Expanded Hardware Configuration Status feature is selected, additional bytes of
Hardware Configuration status are reported to the network (at least eight bytes, starting with byte
16). For detailed information about the double expanded Hardware Configuration status bytes, refer
to Section 7.4.2.

Miscellaneous Features 4
Field Size: 3 characters
Valid Range: 000 through 255
Description: The value in the Miscellaneous Features 4 field is the sum of the weights of the
features selected. Agilis 3 91x allows the network to select the features listed in the following table.
Weight Features
128 Reserved
64 Reserved
32 Send expanded MDS status
16 Disallow dispense with safe door open
8 Reserved
4 Reserved for future use
2 Reserved for future use
1 Reserved for future use

Send Expanded MDS Status


The Send Expanded MDS Status feature applies only to terminals equipped with the Bulk Cash
Recycler (BCR) and Diebold 55xx terminals.
This feature provides the following information:

 For terminals with BCR. If this feature is enabled, it provides the network with additional
TM
status information for BCR hardware faults by including the Hitachi error code in the
status message reporting the hardware fault. This error code can be used in conjunction
with Hitachi diagnostic documentation to assist in diagnosing the hardware fault.
For more information about expanded MDS status, refer to the section for currency
acceptor statuses in the Consolidated MDS Status Reference Manual (TP-821839-001A).
 For Diebold 55xx terminals. If this feature is enabled, then the terminal will send the
Estimated First Cause (EFC) codes to the host.
For more information about the EFC codes, refer to the Agilis 3 91x User Guide (TP-
821302-001H)

Disallow Dispense with Safe Door Open


The Disallow Dispense with Safe Door Open option requires the chest door (safe door) to indicate
closed when doing a network-commanded dispense operation. If the network commands a
dispense operation while the chest door is open, the dispense operation is not performed, and the
terminal reports the status D901:3E:02:00 to the network.

Once this option is enabled, it can only be disabled by clearing terminal memory. Any subsequent
Write Command 3 messages must then have this option turned off (set to 0).

NOTE

If a terminal does not have a chest door or does not have a chest door switch, Agilis 3 91x
assumes a Door Open condition. In such cases, it is recommended that you do not enable
this option.

Logical Unit Number (LUNO)


Field Size: 3
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: This field specifies the logical unit number (LUNO) to be placed in messages sent to
the host. The terminal places the LUNO in Consumer Request messages, Solicited Status
messages, and Unsolicited Status messages. The LUNO allows the network to determine which
terminal sent the message once the communication protocol is removed from the message.

The network can include the LUNO in messages sent to the terminal. However, the terminal ignores
any LUNO it receives in a network message (except for this field in the Write Command 3
message).

If the network chooses to not specify a LUNO, the terminal automatically sets the LUNO to 000.

Timer Number
Field Size: 2 characters
Valid Range: 00 through 31
Description: This field contains the two-digit timer number for a standard timer. Standard timers
are used implicitly in 9000-style states and 912 function commands. (Enhanced timers have a 9 in
front of these numbers; for example, enhanced timer 905 is standard timer 05 described in the
following paragraphs.)
The following paragraphs describe the standard timers that are valid for Agilis 3 91x. (Timers that
are not listed are reserved, either for compatibility with earlier applications or for future use.)

Timer 00. Timer 00 sets the keypad response timeout interval. When a screen is displayed that
prompts the consumer to make a keypad entry, the consumer must respond within the timeout
interval specified for timer 00. Otherwise, the terminal exits its present state, displays screen 000,
and starts timer 01. There is no beeping while this timer is active.

Timer 01. Timer 01 is the consumer response extension timeout interval. Timer 01 sets the timeout
interval for the consumer's response to screen 000, which asks if the consumer needs more time.
The terminal displays screen 000 and starts timer 01 if the consumer exceeds the allotted time for
any of the following actions:

 Keypad entry (timer 00)


 Deposit insertion (timer 04 or timer 20)

The keypad beeper sounds while this timer is active. If this timer expires for the keypad, the
terminal proceeds to the Timeout Next State.

Timer 02. Timer 02 sets the Close state screen timeout interval. At the end of this interval, the
terminal proceeds to the next state number specified in the Close state.

NOTE

A timeout interval of 000 is not permitted for timer 02.

Timer 03. Timer 03 sets the network response timeout interval. When the terminal is ready to
transmit a Consumer Request message to the network, the terminal starts timer 03. If the terminal
does not receive a Function Command message before timer 03 expires, the terminal exits the
Transaction Request state by going to the Network Response Timeout Next State exit. If bit 1 of the
Miscellaneous Features 3 field in the Write Command 3 message is set.

NOTE

If messages between Agilis 3 91x and the network are routed through other applications, the
additional processing performed by the applications can increase the time that it takes for a
Consumer Request message to reach the network or for the Function Command message to
reach Agilis 3 91x (or both). Be sure to consider this additional time when configuring timer
03.

Timer 04. Timer 04 sets the deposit insertion timeout interval for an envelope depository or the
IDM. When a screen is displayed that prompts the consumer to insert an envelope, check, or
document into the depository, the consumer must respond within the timeout interval specified by
timer 04. Otherwise, the terminal exits its present state, displays screen 000, and starts timer 01.
The keypad beeper sounds while this timer is active.

If timer 20 has a non-zero value, Agilis 3 91x uses timer 20 in place of timer 04.

The valid range for timer 04 is 000 through 500.

NOTE
A value of 000 is interpreted as 060 and any value above 500 is interpreted as 500.

Timer 05. This timer specifies the maximum amount of time that the terminal waits for a consumer
to remove the cash. The terminal starts timer 05 when the cash is presented to the consumer. Refer
to the description of Timer 07 for further details.

Timer 06. Timer 06 sets the communications offline timeout interval. This timer is started each time
the terminal receives a poll or select sequence from the network. If the terminal has not been polled
or selected within the interval specified for timer 06, the terminal proceeds to the Off-line mode (out-
of-service to consumers) and displays screen 001.

NOTE

A timeout interval of 000 is not permitted for timer 06.

Timer 07. Timer 07 starts when the consumer removes the cash. A timeout interval of 000 is
recommended, to minimize transaction time.

Timer 09. Timer 09 has two similar functions. First, on terminals equipped with a motorized card
reader, timer 09 sets the consumer timeout interval before a card capture attempt. If the card is
presented to the consumer and the card is not removed before timer 09 expires, a card capture
attempt is made. This timer starts at the beginning of the Close state if the card was not returned at
the Card Read state.

Second, on terminals equipped with an IDM , timer 09 sets the consumer timeout interval before a
check capture attempt. If the terminal returns a check or other document to the consumer, and the
check (or document) is not removed before timer 09 expires, the terminal attempts to capture and
retain the check (or document).

Timer 09 defaults to 38 seconds on power-up.

NOTE

A timeout interval of 000 is not permitted for timer 09.

Timer 18. Timer 18 sets the Dip Card Reader Retry Screen timer. Timer 18 sets the amount of time
the Dip Card Reader Retry screen is displayed before the Welcome screen is re-displayed. For
Card Read state (A), during this time, the consumer can attempt to dip a card again. An error during
this subsequent read attempt causes the retry screen to be displayed again. If timer 18 expires
without a retry attempt, the original screen specified in the Card Read state (A) is displayed. Timer
18 defaults to 012 seconds on power-up.

Timer 18 is also used to set the time for which the reserved screen 944 should be displayed when a
customer incorrectly inserts a card in the ActivEdge card reader.

Timer 20. Timer 20 sets the deposit insertion timeout interval for an envelope depository or the
IDM. If timer 20 has a non-zero value, Agilis 3 91x uses timer 20 in place of timer 04. The keypad
beeper sounds at a slow rate while this timer is active.

The valid range for timer 20 is 000 through 500.

NOTE
A value of 000 is interpreted as 060 and any value above 500 is interpreted as 500.

Timer 21. Timer 21 is used with receipt printers equipped with an exit sensor. This timer sets the
amount of time allotted for the consumer to take a delivered receipt following a Print and Do Not
Wait operation or a Deliver and Do Not Wait operation. If the document is not removed in the
allotted time, Agilis 3 91x directs the printer to retain or dump the document, depending on the
capabilities of the printer. A timer value of 000 (the default value), disables the retaining (or
dumping) of the document. Timer 21 is applicable to all functions that perform printing (except
function D when configured as a true Print and Wait function), and to the Printer state and function.

Timer 22. Timer 22 (enhanced timer 922) is used by the passbook printer (Opteva and Diebold
55xx terminals only). Timer 22 sets the amount of time that Agilis 3 91x waits for the consumer to
re-insert their passbook during a page-turning procedure. If the passbook is not re-inserted in the
allotted time, Agilis 3 91x displays the More Time screen.

Timer 23. Timer 23 is used by the dip card reader. Timer 23 sets the amount of time the terminal
waits for the consumer to remove a card from the dip card reader before displaying a prompt for
removal screen on the display. The prompt for removal screen is reserved screen 915 . Timer 23 is
set by Agilis 3 91x to a default value of 000. A value of 000 causes Agilis 3 91x to wait forever
before displaying the prompt for removal screen (reserved screen 915). To allow Agilis 3 91x to
display the prompt for removal screen, timer 23 (or enhanced timer 923) must be set to a non-zero
value.

Timer 30. Timer 30 (enhanced timer 930) is used by the passbook printer (Opteva and Diebold
55xx terminals only). Timer 30 sets the amount of time that Agilis 3 91x waits for the consumer to
remove their passbook from the passbook printer during manual page-turning procedures. If the
passbook is not removed in the allotted time, the terminal performs the delivery timeout action
(retain passbook or leave passbook presented) specified in the Agilis Configuration Utility.

Timer 31. Timer 31 (enhanced timer 931) is used by the passbook printer (Opteva and Diebold
55xx terminals only). Timer 31 sets the amount of time that Agilis 3 91x waits for the consumer to
remove their passbook from the passbook printer during all passbook return actions other than the
return during manual page-turning procedures. If the passbook is not removed in the allotted time,
the terminal performs the delivery timeout action (retain passbook or leave passbook presented)
specified in the Agilis Configuration Utility.

Number of Seconds
Field Size: 3 characters
Valid Range: 000 through 255
Description: This three-character, decimal data field determines the timeout intervals for the timer
in seconds. The default and suggested values are as follows:
Timer Number Default Value (in seconds) Suggested Value (in seconds)
00 000 019
01 000 019
02 000 006
03 030 225
04 000 075
05 000 025
06 075 075
07 000 000
08 000 Reserved, do not change
09 038 038
10 006 Reserved, do not change
11 080 Reserved, do not change
12 - 17 000 Reserved, must be 000
18 012 012
19 000 Reserved, must be 000
20 000 075
21 000 038
22 030 Reserved, do not change
23 000 003
24 000 Reserved, must be 000
25 060 Reserved, do not change
26 030 Reserved, do not change
31 030 Reserved, do not change

NOTE

The Timer Number and Number of Seconds fields can be repeated as necessary. Any timers
with default values can be, but do not have to be, downloaded.

5.16 Write Command 6 Message (Financial Institution Tables)

This message downloads Financial Institution Tables (FITs) into terminal memory. At least one FIT
is necessary for each financial institution that uses the terminal.

A FIT contains the data the terminal needs to process consumer identification cards and to verify
consumer-entered PIN numbers. The information in a FIT is used in conjunction with the information
encoded on a consumer's card. Some examples of the functions a FIT serves are as follows:

 Allows the terminal to accept consumer identification cards with different formats and from
different institutions
 Tells the terminal the type of PIN verification to perform
 Tells the terminal which key to use to encrypt a PIN before sending the PIN to the network
 Tells the terminal the value of the encrypted key to use when performing DES PIN
verification at the terminal
 Allows the terminal to follow alternate branches of state sequencing

Refer to the Data Security Procedures and Reference Manual (TP-799530-001E) for detailed
information on FIT Data.

Each message can include as many FITs as necessary, subject to the total length limit for Agilis 3
91x messages. Table 5-81 illustrates the message format.
Table 5-81 Write Command 6 Message
Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) 1 1
Modifier (FIT) 5 1
Field Separator (FS) hex 1C 1
FIT Number --- 3
FIT Data --- 114
[1]
[ Field Separator (FS) ] [ hex 1C ] [1]
[1]
[ FIT Number ] [---] [3]
[1]
[ FIT Data ] [---] [ 114 ]
[ Field Separator (FS) ] [ hex 1C ] [1]
[ MAC Data ] [---] [8]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields (FS/FIT Number/FIT Data) can be repeated as necessary, subject to the total
length limit for Agilis 3 91x messages.

The following paragraphs describe the fields specific to the Write Command 6 message.

FIT Number
Field Size: 3 characters
Valid Range: 000 through 999
Description: This three-character field designates the number assigned to the FIT in the following
field.

FIT Data
Field Size: 114 characters (38 three-character entries)
Valid Range: 000 through 255 for each entry
Description: FIT data specifies the control words for processing PINs. FIT data is also used for
Indirect Next state and remote PIN encryption. FIT data is downloaded to the terminal.

MAC Data
Field Size: 8 characters
Valid Range: Hexadecimal digits (0 through 9, and A through F)
Description: This eight-character field contains hexadecimal characters that represent the MAC
calculation of the Write Command 6 message. Refer to the Data Security Procedures and
Reference Manual (TP-799530-001E) for additional details.

5.17 Write Command 7 Message (encryption key change)

This message carries encrypted encryption keys to replace the current keys. The message also
includes a control word (in the modifier field) that identifies the key in the message and the means
of decrypting the key. Refer to the Data Security Procedures and Reference Manual (TP-799530-
001E) for a detailed description of data encryption. Table 5-82 illustrates the message format.

Table 5-82 Write Command 7 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Encryption Key Change) 3 1
[ Key Change ] [---] [1]
Field Separator (FS) hex 1C 1
[ New Key Data ] [---] [ Variable ]
Protocol Dependent Trailer Variable Variable

The following paragraphs describe the fields specific to the Write Command 7 message.

Key Change
Field Size: 1 character
Valid Range: 1 through 9, : ? and @
Description: This one-character field tells the terminal which key(s) to use for encryption and
message authentication. The valid values for this field are as follows:
 1 - Decrypt new master key with current master key
 2 - Decrypt new COMM key with current master key
 3 - Decrypt new COMM key with current COMM key
 4 - Use Power-up COMM key (B key) as current COMM key
 5 - Decrypt MAC key with current Master key
 6 - Decrypt MAC key with current COMM key
 7 - Use Power-up COMM key (B key) as current MAC key
 8, 9, : ? and @ - Reserved
For key change 7 (use B key as current MAC key), if the B key is a double-length key (32 digits),
only the left half of the B key (16 digits) is used to generate message authentication codes. Be
aware, however, that if a terminal operator requests the MAC key verification number, the terminal
returns the key verification number for the 32-digit B key rather than generating a distinct key
verification number for the 16 digits used as the MAC key.

New Key Data


Field Size: Variable
Valid Range: Refer to the description.
Description: The terminal receives, decrypts, and stores new key data inputs for future use. The
size of this field varies, depending on the Key Change field. The field sizes are as follows:
 If the Key Change field is 4 or 7, there is no New Key data; this field is not included in the
message.
 If the Key Change field is 1, 2, 3, 5, or 6, the New Key data field is 24 characters for single-
length keys, 48 characters for double-length keys (requires an encrypting PIN pad). It is
eight (or 16) hex bytes transmitted as eight (or 16) sets of three decimal characters with a
range of 000 through 255.
NOTE
If the terminal is set to use single-length keys, and 48 characters of key data are sent,
the message is rejected. If the terminal is set to use double-length keys, and 24
characters of key data are sent, the message is rejected.

Refer to the Data Security Procedures and Reference Manual (TP-799530-001E) for additional
details.

5.18 Write Command 8 Message (configuration ID)

The Write Command 8 message contains a network-defined identifier for the configuration data
downloaded to the terminal. The network must define and download a unique configuration ID with
each unique set of configuration data. This configuration ID serves as a validation signature for the
configuration data. The configuration ID can be any number from 0001 to 9999.

The network can use the configuration ID to verify the configuration data in the terminal's memory
and avoid needless downloading of configuration data. To verify the configuration data, the network
requests the current configuration ID from the terminal (Configuration Information Request
Operational Command message, Section 7.1), then compares the terminal's configuration ID with
the network's copy.

The terminal automatically resets its configuration ID to 0000 in the following instances:

 At terminal power-up
 When the network downloads configuration data
 When an encryption key is changed, if Agilis 3 91x is configured to do so

Because the terminal resets its configuration ID to 0000 when the network downloads configuration
data, the configuration ID must be set at the end of the terminal configuration process. Therefore,
the Write Command 8 message must be the last message in the sequence of configuration
messages.
Refer to Table 5-83 for the message format.

Table 5-83 Write Command 8 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration Data) 1 1
Modifier (Configuration ID Number) 6 1
Field Separator (FS) hex 1C 1
Configuration ID Number --- 4
Protocol Dependent Trailer Variable Variable

The following paragraphs describe the fields specific to the Write Command 8 message.

Configuration ID Number
Field Size: 4 characters
Valid Range: 0001 through 9999
Description: This four-character field contains the configuration ID number. This number must be
in the range of 0001 to 9999. 0000 indicates that the terminal is not configured.

5.19 Write Command 18 Message (format templates)

This message is used to load format templates into the terminal. The maximum message length for
this command is 8192 characters from header to ETX. Because of message length limit,
transmission of format templates can occur in several messages. Each message contains a portion
of the format templates. Table 5-84 illustrates the command message format.

Table 5-84 Write Command 18 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration) 1 1
Modifier (Format Template) @ 1
Field Separator (FS) hex 1C 1
Format Template Number --- 3
Format Template Data --- Variable (100 max)
[1]
[ Field Separator (FS) ] [ hex 1C ] [1]
[1]
[ Format Template Number ] [---] [3]
[1]
[ Format Template Data ] [---] [ Variable (100 max) ]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields (FS/Format Template Number/Format Template Data) can be repeated, as
necessary, to a maximum of 8192 bytes per Write Command 18 message.

The following paragraphs describe the fields specific to the Write Command 18 message.

Format Template Number


Field Size: 3 characters
Valid Range: 001 through 099
Description: This is a three-character field from 001 to 099. It identifies the format template number
for the format template data that follows.

Format Template Data


Field Size: Variable (maximum of 100 characters)
Valid Range: Refer to the description.
Description: The characters represent format template data.

NOTE

The field separator, Format Template Number field, and Format Template Data field can be
repeated as necessary to a maximum of 8192 bytes (total message length).

Format Template Usage


The terminal uses format templates in select screens to format the way consumer-entered data is
shown on the consumer display.

Format templates are used most often during Information Entry states (Section 5.4.8). However, a
format template can be called by any screen using the ESC V control sequence. When the ESC V
control sequence is used, buffer data is shown on the screen within the constraints of the format
template. No consumer input is required.

Format templates are part of the configuration data that the network either downloads with Write
Command messages.

Format Template Numbers between 001 and 099 identify individual format templates. Unused
templates do not need to be downloaded. Format Template Number 000 is reserved and indicates
to the terminal that it disables all numeric keys during the Information Entry state.
A format template used for PIN entry in an Information Entry state must be of the maximum
length expected in the card base. If the Information Entry state specifies PIN entry, the
terminal enables the keypad for the number of digits specified in the Maximum PIN Entry
Digits entry (PMXPN) of the consumer's associated FIT.

The terminal allows the network to send the following two types of format template characters:

 Display method characters to determine how the data is shown on the consumer display
 Data type characters to determine the type of data the consumer can enter

A format template can contain enough characters to fill one full line of screen characters. A single
screen line is 40 characters long, so a format template can contain from 1 to 40 display method and
data type characters.

The network can mix display method and data type characters in the same format template with
some restrictions. The following paragraphs describe the different types of format template
characters and the restrictions for using them.

Several examples of how format templates are used for consumer entered data are shown in Table
5-85.

Table 5-85 Example Uses of Format Templates


Data Display After Data Contents of Input Buffer After
Format Template Entry Entry Entry
AAAA No Entry
1st A |A|
2nd AB |A|B|
3rd AB1 |A|B|1|
[1]
4th AB12 |A|B|1|2|
XXXX No Entry
1st x |1|
2nd xx |1|2|
3rd xxx |1|2|3|
[1]
4th xxxx |1|2|3|4|
(ZZZ)ZZZ-ZZZZ ()- No Entry
1st (1 ) - |1|
2nd (12 ) - |1|2|
3rd (123) - |1|2|3|
4th (123)4 - |1|2|3|4|
• • •
• • •
• • •
[1]
10th (123)456-7890 |1|2|3|4|5|6|7|8|9|0|
[2] [3]
C04ZZZZZ9699 $ 0.00 No Entry
1st $ 0.01 |1|
2nd $ 0.12 |1|2|
3rd $ 1.23 |1|2|3|
4th $ 12.34 |1|2|3|4
• • •
• • •
• • •
8th $ 123456.78 |1|2|3|4|5|6|7|8|
D$ bAAAAAA.AA $ No Entry
1st $1 |1| | | |
2nd $ 12 |1|2| | |
3rd $ 12. |1|2| | |
4th $ 12.3 |1|2|3| |
5th $ 12.30 |1|2|3|0|
[2] [3] [4]
C04ZZZ5ZZ9699 $ 0.00 No Entry
1st $ 0.01 |1|
2nd $ 0.12 |1|2|
3rd $ 1.23 |1|2|3|
4th $ 12.34 |1|2|3|4|
5th • •
• • •
• • •
8th $ 123456.78 |1|2|3|4|5|6|7|8|
[1]
If the data entry fills the format template, the terminal goes to the Format Template Full Next
State. Refer to the Information Entry states in Section 5.4.8 and Section 5.5.16.
[2]
The 04 in this example indicates that reserved screen 004 should be used in this position. Screen
004 defaults to the characters $ b.
[3]
The 6 in this example indicates that reserved screen 006 should be used in this position. Screen
006 defaults to a period ( . ).
[4]
The 5 in this example indicates that reserved screen 005 should be used in this position. Screen
005 defaults to NULL.

For information about reserved screens 004, 005, and 006, refer to Section 5.9.

5.19.1 Display Method

The display method characters specify how the data is shown on the consumer display as the
consumer enters the data. The display method characters (when used) are the first three characters
in a format template. The valid entries for the display method characters are as follows.

 No method characters - If a format template does not contain display method characters,
the terminal defaults to a left-justified display field with no decimal point and no leading
zeros.
The terminal shows the first data character entered in the left-most display field position.
When the consumer enters more data, the terminal shows the characters in succession in
the display positions to the right of the last character entered. The characters are not
shifted to the right (Table 5-85).
 B - Display method B causes whatever is programmed in the format template to be
displayed, one character at a time, corresponding with each key input from the keypad. For
example, consider the following format template:
075B*******
Format template 75 uses display method B to show the asterisk ( * ) character for each
consumer key input (excluding function keys) up to seven key inputs (because there are
seven * characters in the format template). After seven key inputs, the format template is
full and the keypad is disabled. If the Information Entry state is programmed to do so, the
state exits appropriately when the format template is full.
Please note that any ASCII character or combination of characters in the range of 20 to 60
(hexadecimal), inclusive, can be used in this template. Two additional examples are as
follows:
088B0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ$!

012B!@#$%^&*()_-+=?><,.
Format template 88 displays 0 for the first key input, 1 for the second key input, 2 for the
third, and so on, up to the 40th character in the format template, !. Format template 12
shows some of the other characters that can be used with display method B.
 C** - The terminal shows the consumer-entered data starting at the right of the display field
and shifting to the left as the consumer enters more data. The ** characters represent the
first two (leading) symbols shown in the display field (Table 5-85) or they can be 04, which
tells the terminal to use reserved screen 004 (Section 5.9) for the leading symbols (if screen
004 contains more than 20 characters, the terminal uses only the first 20 characters).
NOTE
If the terminal is using a C format template and the consumer presses a decimal
point key, the terminal ignores the key.
 D** - The terminal shows the consumer entered data starting at the left of the display field.
The ** characters represent the first two (leading) symbols shown in the display field (Table
5-85) or they can be 04, which tells the terminal to use reserved screen 004 (Section 5.9)
for the leading symbols (if screen 004 contains more than 20 characters, the terminal uses
only the first 20 characters). The first data character entered is shown in the first display
field position following the ** leading symbols. As more data is entered, the characters are
shown in succession in the display positions to the right of the last character entered. The
characters are not shifted to the right (Table 5-85).
A D format template can have one decimal point. The decimal point cannot occupy the
right-most position in the template. The terminal uses the template's decimal point to
determine how many decimal positions are applicable in the currency system. Typical
currency systems have two decimal positions.
NOTE
The consumer must enter a decimal point as part of the normal data entry.
The terminal recognizes only the first decimal point key pressed. All other decimal point
keypresses are ignored.
The terminal does not enter the decimal point key data into the input buffer. If a decimal
point key is not pressed, the terminal assumes that the data entered is a whole number and
appends the buffer data sent to the network with the required number of zeros to fill the
decimal positions.
NOTE
No characters other than data type A characters and a single decimal point can
appear in a D format template. Commas cannot appear in a D format template.
Filling all the character positions to the left of the decimal point causes the terminal to
automatically show the decimal point on the consumer display. The consumer need not
press the decimal point key. After the decimal point appears, any additional numeric input
fills the decimal positions.

5.19.2 Data Type

The data type characters specify the type of data the consumer can enter and if the data appears
on the consumer display. The number of data type characters in a format template also specifies
the maximum number of characters a consumer can enter.

The valid entries for the data type characters are as follows:

 A - alphanumeric display, show any character entered


 X - alphanumeric display, but show only Xs on the display for any character entered (not
valid for D display method formats)
 V - alphanumeric display, show any character entered (not valid for C and D display method
formats)
 W - alphanumeric display, but show only Xs on the display for any character entered (not
valid for C and D display method formats)
 4 - insert reserved screen 004 (currency characters)
 5 - insert reserved screen 005 (thousands separator character)
 6 - insert reserved screen 006 (decimal character)
 9 - numeric display, show only numeric characters, zero filled (leading zeros) before the
consumer enters data (not valid for D display method formats; show any leading zeros only
in C display method formats)
 Z - numeric display, show only numeric characters, suppress leading zeros (not valid for D
display method formats)

When activated, format templates with A or X data type characters clear the display field on the
consumer display. Format templates with V or W data type characters overlay the display field
without first clearing it.

Data types V and W are unique in that the format template field area on the consumer display is not
cleared before the consumer-entered data is displayed. Whatever is on the screen when the format
template is referenced is overwritten. Type W shows Xs for any character entered. Type V shows
the character entered as is. Neither of these data types can be used with the C or D formats. Also,
the letters V and W are not recognized as special data types when used with the B format.

Using these formats and the associated screen data with cursor control, the network programmer
can make the screen appear to have place holders for consumer-entered data. For example,
consider an Information Entry state that references the following screen data and format template:

Screen data:
010|FF|SICCPLEASE ENTER YOUR PIN|SIGI......|SIGI

Format data:

033WWWWWW

When the state references screen 010, the screen is cleared and the verbiage PLEASE ENTER
YOUR PIN is displayed at cursor position CC. The cursor is then positioned to GI and six period
characters ( . ) are displayed. The cursor is then repositioned to the beginning of the period field.
While the consumer enters his or her PIN, the periods are overwritten with Xs.

If non-numeric data is entered into a numeric-only display field (9 or Z), the terminal shows the data
as a space.

Data type characters R, S, T, and U are reserved for future use.

5.19.3 Default Templates

Table 5-86 lists the available default templates and their uses.

Table 5-86 Default Format Templates


Template
Number Template Data Use
001 C04ZZZZ5ZZ9699 Transaction amount entry
display
002 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OAR display
003 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA OAR display
004 XXXXXXXXXXXXXXXX PIN Entry states (B and M)
005 AA Not used
006 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Information Entry state (H)
007 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Information Entry state (H)
008 C04ZZZ5ZZZ5ZZ96 Transaction amount entry
display
009 C04ZZZZZ9699 Transaction amount entry
display
010 C04ZZZZZZZZZ9699 Transaction amount entry
display
011 C04ZZZZZZZZ96999 Transaction amount entry
display

5.19.4 Format Templates for the Dollar Entry State

The Dollar Entry state (Section 5.4.6) uses predefined format templates for the entry and display of
transaction amounts. These predefined format templates are hard-coded in Agilis 3 91x. The Dollar
Entry state uses one of the following format templates based on terminal configuration.

Configuration Format Template


8-digit, 2 decimal places, calculator format C04ZZZZ5ZZ9699
12-digit, 2 decimal places, calculator format C04ZZ5ZZZ5ZZZ5ZZ9699
12-digit, 3 decimal places, calculator format C04ZZZZ5ZZZ5ZZ96999
8-digit, 2 decimal places, decimal format D04AAAAAA6AA
12-digit, 2 decimal places, decimal format D04AAAAAAAAAA6AA
12-digit, 3 decimal places, decimal format D04AAAAAAAAA6AAA

The specific format template used by the Dollar Entry state depends on the settings of the following
features in the Write Command 3 message (Section 5.15):

 Dollar Buffer Size feature - 8-digit or 12-digit transaction amounts


 Dollar Decimal Places feature - 2 or 3 decimal places
 Decimal Style feature - Calculator or decimal format

5.19.5 Initialization Data

Initialization data can be used with the B display method or in format templates with no display
method character. This feature can provide an initial formatted display for entering dates, account
numbers, telephone numbers, and so on.

Initialization data is specified as a prefix to the format data in the format template. This prefix has
the following format:

I nnn

Where nnn is a three-digit screen number. The contents of the specified screen is overlayed on the
base screen at the point where the consumer-entered data will be displayed. As the consumer
enters data, the entered data overwrites the initialization data.

If the specified screen contains more characters than the format data (not including the method
character, if present), the initialization data is truncated to fit the format.

EXAMPLE

The following example uses initialization data for date entry. The format template contains the
following data (does not include the template number):

I456AA
bAA
bAAAA

The template directs the terminal to display the first 10 characters of screen 456 as initialization
data. Up to ten characters are to be displayed because the length of AA bAA bAAAA is 10
characters. The template then allows the entry of eight alphanumeric characters.

Screen 456 contains the following data (does not include the screen number):

MM/DD/YYYY
Date entry proceeds as shown in the following illustration.

Description Consumer Display


Initial display before first keypress: MM/DD/YYYY
First keypress (0): 0M/DD/YYYY
Second keypress (2): 02/DD/YYYY
Third keypress (1): 02/1D/YYYY
. .
. .
. .
Eighth keypress (0): 02/10/2010

5.20 Write Command 19 Message (subsidiary applications data)

The Write Command 19 message can be used to download configuration data for subsidiary
applications, such as the EMV application.

5.20.1 Write Command 19 Message for State Engine

The format of the Write Command 19 message for state mode is shown in the following table.

Table 5-87 Write Command 19 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration Data) 1 1
Modifier (Subsidiary Applications Data) A 1
Field Separator (FS) hex 1C 1
Data Identifier --- Variable
Data --- Variable
[1]
[ Group Separator ] [ hex 1D] [1]
[1]
[ Data Identifier ] [---] [ Variable ]
[1]
[ Data ] [---] [ Variable ]
Protocol Dependent Trailer Variable Variable
[1]
This set of fields (group separator, data identifier, and data) can be repeated as required, limited
only by the total length limit for the message (8192 bytes).
The contents of the Data Identifier field and the Data field are specific to the application for which
the data is intended. At present, the Write Command 19 message can be used to download data for
the EMV application. For further information about using the Write Command 19 message for the
EMV application, refer to the Agilis 3 91x EMV User and Programmer Guide (P-821446-001C).

5.20.2 Write Command 19 Message for Smart Engine

For the host to determine if the terminal is running in the stateless mode, and to evaluate the
configuration of Smart Engine, the terminal must send an additional record in the Hardware
Configuration Status message.

The Smart Engine configuration is defined by the contents of a specific set of files and directories
stored at the terminal. This information is sent to the host as an Additional Hardware Configuration
Status record, with ID = “DSEN", in the Hardware Configuration Status message.

For the terminal to send this additional information, the host must first send a Write Command 19
message with the File Spec or Directory Spec parameter. This parameter contains a list of
configuration files and directories that the terminal must use to compute the Smart Engine
configuration.

Table 5-88 shows the format of the Write Command 19 message for Smart Engine.

Table 5-88 Write Command 19 Message for Smart Engine


Description Data Number of Characters
[1]
This set of fields (group separator, data identifier, and data) can be repeated as required, limited
only by the total length limit for the message (8192 bytes).
[2]
This set of fields (group separator, data identifier, and data) can be repeated as required, limited
only by the total length limit for the message (8192 bytes).
[3]
These fields (File Spec, Directory Spec and Record Separator) can be repeated as required. Note
that File Spec is the fully qualified file specification for a single file, and Directory Spec is the fully
qualified specification of a single directory.

Protocol Dependent Header Variable Variable


Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration Data) 1 1
Modifier (Subsidiary Applications Data) A 1
Field Separator (FS) hex 1C 1
Smart Engine ID 4DSEN 5
[2]
File Spec or Directory Spec [---] Variable
[2]
Record Separator (RS) hex 1E 1
[1]
[ Group Separator ] [ hex 1D] [1]
[1]
[ Data Identifier ] [---] [ Variable ]
[1]
[ Data ] [---] [ Variable ]
Protocol Dependent Trailer Variable Variable

When the terminal receives the Write Command 19 message from the host, the terminal computes
the configuration checksum of all files and directories specified in the message. The terminal then
appends this checksum to the Hardware Configuration Status message.

Table 5-89 shows the format of the additional record added to the Hardware Configuration Status
message.

Table 5-89 Additional Record Added to the Hardware Configuration Status Message
Description Data Number of Characters
Record Separator (RS) hex 1E 1
Smart Engine Record ID DSEN 4
[1]
Smart Engine Configuration Checksum Variable Hex String 32
[1]
If the Host has not sent a Write Command 19 message containing the list of configuration files
with which to compute the configuration checksum (but Smart Engine is running at the terminal),
then this field will not be present and the Hardware Configuration Status message will consist of the
Record ID, “DSEN" only.

For more information about the Hardware Configuration Status message, refer to Section 7.4.2.

The Smart Engine Configuration Checksum parameter is a unique ID for the contents of a host-
specified list of files and directories on the terminal.

The Smart Engine Configuration Checksum value is computed as follows:

 The MD5 checksum is computed for each file spec contained in the Write Command 19
message. This checksum is converted to a 32-character hexadecimal string.
 For each directory spec contained in the Write Command 19 message, the MD5 checksum
is computed for each file present in the directory and all its subdirectories. The resultant
checksums of all the files is concatenated and the MD5 checksum is computed on the
composite string.
 A composite string is created by concatenating the checksums of all files and directories.
 The MD5 checksum of the composite string is computed and converted to a 32-character
hexadecimal string, which is the Smart Engine Configuration Checksum.

5.21 Write Command 20 Message (currency acceptor bill types)

Write Command 20 messages are used to allow or disallow selected bill types that the currency
acceptor device is capable of recognizing. The message data first identifies a bill type by specifying
the currency type, value (denomination), and release number. The message data then indicates
whether the currency acceptor should accept or reject bills of that type if any are inserted as part of
a cash deposit.
NOTE

To determine which currencies, denominations, and release numbers the currency acceptor
can recognize, the network can request and read the additional Hardware Configuration
status data (Section 7.4.2.1).

All changes made by Write Command 20 messages are erased when the terminal loses power or is
restarted.

NOTE

The same configuration selections, including release numbers, can be made using the ACU.

During Agilis 3 91x runtime, configuration selections made using the Write Command 20 message
override the selections made using the ACU. However, the ACU selections are restored if the Agilis
3 91x application is restarted, and the ACU selections are not erased when the terminal loses
power or is restarted.

The message format for the Write Command 20 message is shown in Table 5-90.

Table 5-90 Write Command 20 Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (Configuration Data) 1 1
Modifier (Currency Acceptor Bill Types) B 1
Field Separator (FS) hex 1C 1
Currency ID --- 3
Bill Value --- 10
Bill Release Number --- 5
Accept Option --- 1
[1]
Field Separator hex 1C 1
[1]
Currency ID --- 3
[1]
Bill Value --- 10
[1]
Bill Release Number --- 5
[1]
Accept Option --- 1

Protocol Dependent Trailer Variable Variable


[1]
Additional sets of bill type fields are optional. Each additional set must start with a field separator.

The following paragraphs describe the fields specific to the Write Command 20 message.

Currency ID
Field Size: 3 characters
Valid Range: ISO 4217 currency codes
Description: The Currency ID field indicates the currency type of the bill type that is being
specified.

Bill Value
Field Size: 10 characters
Valid Range: 0000000001 through 9999999999
Description: The Bill Value field indicates the monetary value (denomination) of the bill type that is
being specified. The last two or three digits of the bill value are the decimal amount. (The number of
decimal places is a configurable option that can be set using the Write Command 3 message.)

Bill Release Number


Field Size: 5 characters
Valid Range: 00000 through 65535
Description: The Bill Release Number field contains a numeric representation of the release
number (emission number) of the bill type that is being specified.

NOTE

The correspondence between a bill release number and its numeric representation depends
on the bill validating module installed in the currency acceptor.

The value 00000 indicates that the Accept Option setting that follows applies to all releases of bills
having the specified currency ID and bill value.

Accept Option
Field Size: 1
Valid Range: 0 through 1
Description: The Accept Option field indicates whether the currency acceptor is allowed to accept
this bill type. The valid values are as follows:
 0 - Do not accept
 1 - Accept

Section 6
Transaction Messages
This section describes the messages that make up the communications interface between Agilis 3
91x and the controlling network. These messages are used for performing transactions at the
terminal and for providing feedback to the network.
The terminal gathers all the necessary information for a Consumer Request message. Typically this
information consists of the following items:

 Account card data (including the primary account number [PAN])


 The personal identification number (PIN)
 Various terminal keypad inputs

Refer to Figure 6-1 for an example of a typical message exchange sequence.

The Consumer Request message is sent to the network.

The network responds to a Consumer Request message with a Function Command message. The
Function Command message tells the terminal how to accomplish the requested transaction.

After the terminal completes the transaction with the consumer, the terminal sends a Solicited
Status message to the network.

The basic message formats used in the system are fixed. These formats contain the necessary
control characters to conform with most protocol formats. This section shows the format for each
message type used in the system. Messages can travel either from the terminal to the network, or
from the network to the terminal. Individual variable fields in Agilis 3 91x messages are not
restricted in size (unless otherwise noted on a per-field basis), but the total message length cannot
exceed 8192 bytes.

NOTE

Although Agilis 3 91x permits messages up to 8192 bytes in length for all types of
messages, the network protocol used by the terminal or other network constraints might
limit message lengths to something less than 8192 bytes.

Messages from the Terminal to the Network


The terminal transmits the following three message types:
 Consumer Request messages (Section 6.1)
 Solicited Status messages (Section 6.2)
 Unsolicited Status messages (Section 6.3)

Messages from the Network to the Terminal


The following basic message types transmitted from the network to the terminal:
 Function Command (message ID 4) (Section 6.4)
 Enhanced Function Command (message ID 7) (Section 6.5)
 Write Command 5 (message ID 3) (Section 6.6)

Figure 6-1 Transaction Message Flow


Section 6.1 through Section 6.6 illustrate these messages in table form. The notation conventions in
Table 5-2 apply to all the message tables.

6.1 Consumer Request Message

The Consumer Request message contains data that the network needs to authorize a consumer
transaction at the terminal. The maximum length of this message is 8192 characters (bytes). The
network answers a Consumer Request message with a Function Command message to the
terminal.

The format of the Consumer Request message is shown in Table 6-1.


Table 6-1 Consumer Request Message (format 0)
Description Data Number of Characters
Protocol Dependent Header Variable Variable
Solicited/Unsolicited ID 1 1
Message Identifier 1 1
Field Separator (FS) hex 1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) hex 1C 1
Field Separator (FS) hex 1C 1
[1]
[ Time Variant Number ] [---] [8]
Field Separator (FS) hex 1C 1
Top-of-Form Flag --- 1
Message Coordination Number --- 1
Field Separator (FS) hex 1C 1
[ Track 2 Data ] [ Variable ] [ Variable (40 max) ]
Field Separator (FS) hex 1C 1
[ Track 3 Data ] [ Variable ] [ Variable (106 max) ]
Field Separator (FS) hex 1C 1
[ Function Key Buffer ] [---] [ 0 or 8 ]
Field Separator (FS) hex 1C 1
[2]
[ Dollar and Cents Keyboard Entry ] [---] [ 0, 8, or 12 ]
Field Separator (FS) hex 1C 1
[ PIN Data ] [ Variable ] [ 0 or 16 ]
Field Separator (FS) hex 1C 1
[ General Purpose Buffer B ] [ Variable ] [ Variable (32 max) ]
Field Separator (FS) hex 1C 1
[ General Purpose Buffer C ] [ Variable ] [ Variable (32 max) ]
NOTE

The following sets of fields (track 1 data and buffer data) can be sent in any order relative to
each other. It is important for the host to examine the field IDs to determine which sets (if
any) are present.
[3]
Field Separator (FS) hex 1C 1
[3]
Field ID (Track 1 Data) 1 1
[3]
Track 1 Data Variable Variable (79 max)
[4]
Field Separator (FS) hex 1C 1
[4]
Field ID (MICR Data) 2 1
[4]
MICR Data --- Variable (70 max)
[5] [9]
Field Separator (FS) hex 1C 1
[5] [9]
Field ID (Transaction Verification Status Data) 6 1
[5] [9]
Transaction Serial Number from Last Function --- 4
Command
[5] [9]
Response to Last Function Command --- 1
[5] [9]
Retract Operation --- 1
[9]
Group Separator (GS) hex 1D 1
[9]
Device ID (Bill Dispenser) DI01 or DI02 4
[9]
Record Separator (RS) hex 1E 1
[9]
Bill Denomination ID, Position 1 --- 1
[9]
Bill Denomination ID, Position 2 --- 1
[9]
Bill Denomination ID, Position 3 --- 1
[9]
Bill Denomination ID, Position 4 --- 1
[7] [9]
Bill Denomination ID, Position 5 --- 1
[9]
Record Separator (RS) hex 1E 1
[9]
Bills Dispensed Count, Position 1 --- 5
[9]
Bills Dispensed Count, Position 2 --- 5
[9]
Bills Dispensed Count, Position 3 --- 5
[9]
Bills Dispensed Count, Position 4 --- 5
[7] [9]
Bills Dispensed Count, Position 5 --- 5
[8] [9]
Group Separator (GS) hex 1D 1
[8] [9]
Device ID (Coin Dispenser) CN01 4
[8] [9]
Record Separator (RS) hex 1E 1
[8] [9]
Coin Denomination ID, Position 1 --- 1
[8] [9]
Coin Denomination ID, Position 2 --- 1
[8] [9]
Coin Denomination ID, Position 3 --- 1
[8] [9]
Coin Denomination ID, Position 4 --- 1
[8] [9]
Record Separator (RS) hex 1E 1
[8] [9]
Coins Dispensed Count, Position 1 --- 5
[8] [9]
Coins Dispensed Count, Position 2 --- 5
[8] [9]
Coins Dispensed Count, Position 3 --- 5
[8] [9]
Coins Dispensed Count, Position 4 --- 5
[5]
Field Separator hex 1C 1
[5]
Field ID (Buffers to Follow) 9 1
[5]
Buffer ID --- 3
[5]
Buffer Data --- Variable
[5]
[ Group Separator (GS) ] [ hex 1D ] [1]
[5]
[ Buffer ID ] [---] [3]
[5]
[ Buffer Data ] [---] [ Variable ]
NOTE

The following fields, if present in the message, are always sent in the order shown, at the
end of the message.
[6]
Field Separator (FS) hex 1C 1
[6]
Rollover Count, Position 1 --- 3
[6]
Rollover Count, Position 2 --- 3
[6]
Rollover Count, Position 3 --- 3
[6]
Rollover Count, Position 4 --- 3
[7] [6]
Rollover Count, Position 5 --- 3
[6]
Group Separator (GS) hex 1D 1
[10] [6]
Rollover Count, Position 1 --- 3
[10] [6]
Rollover Count, Position 2 --- 3
[10] [6]
Rollover Count, Position 3 --- 3
[10] [6]
Rollover Count, Position 4 --- 3
[7] [6]
Rollover Count, Position 5 --- 3
[1]
Field separator (FS) hex 1C 1
[1]
MAC Data --- 8

Protocol Dependent Trailer Variable Variable


[1]
These fields are only sent if message authentication (MAC) is used.
[2]
This field can be 12 characters if the Dollar Buffer Size feature is selected (Section 5.15).
[3]
This set of fields is optional.
[4]
This set of fields is optional (terminals with IDM only).
[5]
This set of fields is optional. If this set is present, there will be at least one Buffer ID field and one
Buffer Data field. Each additional set of Buffer ID fields and Buffer Data fields will be preceded by a
group separator (GS).
[6]
This set of fields is only sent if the Append Rollover Counts feature is selected (Section 5.15).
[7]
These fields are present only when the AFD 5 High feature is enabled (applies only to Opteva
AFDs with 5 dispense cassettes).
[8]
These fields are only sent if the terminal is equipped with a coin dispenser.
[9]
This set of fields is only sent if the Transaction Verification Status feature is selected.
[10]
This set of fields is present only if the Secondary Cash Dispenser parameter is configured in
ACU.

The following paragraphs describe the fields in the Consumer Request message:

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Solicited/Unsolicited ID
Field Size: 1 character
Valid Range: 1
Description: This field tells the network whether the message is solicited or unsolicited. For
Consumer Request messages, the only valid value is 1 (unsolicited).

Message Identifier
Field Size: 1 character
Valid Range: 1
Description: This one-character data field defines the type of message being transmitted. The only
valid value for a Consumer Request message is 1.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The LUNO allows the network to determine which terminal sent the
message once the communication protocol is removed from the message. The LUNO is defined by
the network, using the Write Command 3 message (Section 5.15).

If a machine number has been entered at the terminal and MAC is enabled, the six digits of the
machine number are added to the end of the LUNO. Refer to the Data Security Procedures and
Reference Manual (TP-799530-001E) for additional details.

Time Variant Number


Field Size: 8 characters
Valid Range: Hexadecimal digits
Description: If message authentication (MAC) is used, this field contains hexadecimal digits
randomly generated by the MAC activity. Refer to the Data Security Procedures and Reference
Manual (TP-799530-001E) for additional details.

Top-of-form (TOF) Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This data field informs the network if this transaction is printing at the top of the
receipt. The valid values are as follows:
 0 - Not printing this transaction at the top of the receipt
 1 - Printing transaction at the top of the receipt

Message Coordination Number


Field Size: 1 character
Valid Range: ASCII 31 through 7E
Description: This is a character assigned by the terminal to each Consumer Request message.
The terminal assigns a different coordination number, to each successive Consumer Request
message, on a rotating basis. The standard valid range for the coordination numbers is graphic 1
through 9, : ; < = > and ? (ASCII 31 through 3F). If the extended range for message coordination
number field bit is selected in the Miscellaneous Feature 3 field of a Write Command 3 message
(Section 5.15), then the valid range is ASCII 31 through 7E. The network must include the
corresponding coordination number when responding with a Function Command message. If the
coordination numbers do not match, the terminal sends a Solicited Status message with a
Command Reject status.

When the terminal is powered up after a reset or a power failure, the terminal resets the
coordination number to 2.

Track 2 Data
Field Size: Variable
Valid Range:
Description: This variable-length data field contains up to 40 characters of data from track 2 of the
magnetic stripe on the consumer's account card. This field includes the data from the start sentinel
to the end sentinel, inclusive.

Track 3 Data
Field Size: Variable
Valid Range:
Description: This is a variable-length field that contains up to 106 characters of data from track 3 of
the magnetic stripe. This field includes the data from the start sentinel to the end sentinel, inclusive.

Function Key Buffer


Field Size: 0 or 8 characters
Valid Range: For each character, A through M, and the space character (ASCII hex 20)
Description: The Function Key Buffer field contains the data previously stored in the Function Key
Buffer (buffer 079). This data consists of some combination of function key codes (A through M),
possibly with spaces instead of key codes in some positions. The contents of the buffer are
determined by any or all of the following items:
 The function key(s) pressed by the consumer
 The Clear Keys state (optionally, combined with the Function Key Extension state)
 The Select Function state (optionally, combined with the Function Key Extension state)
 The enhanced Information Entry state
 Any enhanced state intended for buffer manipulation, such as the Set Buffer state

The Clear Keys state can clear and preset any of the positions in the Function Key Buffer.

The Select Function state determines where a key code or space is stored in the Function Key
Buffer.

Dollar and Cents Keyboard Entry


Field Size: 0, 8, or 12 (refer to the description)
Valid Range: Decimal digits
Description: The Dollar and Cents Keyboard Entry field contains the data previously stored in the
Dollar Buffer (buffer 065). Typically, the Dollar Buffer contains a transaction amount stored by the
Dollar Entry state (Section 5.4.6) or the Set Dollar Buffer state (Section 5.4.13). When the Dollar
Buffer data is placed in the Dollar and Cents Keyboard Entry field, the data is padded to 8 or 12
digits, depending on whether the Dollar Buffer Size feature is selected (Section 5.15). The Dollar
Buffer data is right-justified in the field, with zeros filling unused positions on the left.

PIN Data
Field Size: 0 or 16 characters
Valid Range:
Description: The PIN Data field contains a 16-character encrypted PIN block, provided that the
consumer entered a PIN. The encryption scheme and the PIN block method are determined by the
associated FIT entry.

If the Transaction Request state data specifies sending the PIN to the network, but no PIN has
been entered, the PIN Data field contains either 16 zeros or is empty (zero length field), depending
on how the system is configured.

General Purpose Buffer B


Field Size: Up to 32 characters
Valid Range: Refer to the description.
Description: The General Purpose Buffer B field contains the data previously stored in General
Purpose Buffer B (buffer 066).

If General Purpose Buffer B contains information entered by the consumer during an Information
Entry state (H), this data consists of up to 32 decimal digits.

If this Consumer Request message is being sent in response to a Write Command 5 message
(Open Account Relationship [OAR] dialog), this data can consist of either of the following:

 32 decimal digits
 Up to 31 decimal digits, plus 1 alphabetic character: A through M (consumer keypress), or T
(consumer timeout)

General Purpose Buffer C


Field Size: Up to 32 characters
Valid Range: Refer to the description.
Description: The General Purpose Buffer C field contains the data previously stored in General
Purpose Buffer C (buffer 067).

If General Purpose Buffer C contains information entered by the consumer during an Information
Entry state (H), this data consists of up to 32 decimal digits.

Field ID (Track 1 Data)


Field Size: 1 character
Valid Range: 1
Description: This one-character field identifies the data that follows in the next field as track 1 data.

Track 1 Data
Field Size: Variable (79 maximum)
Valid Range: Refer to the description.
Description: This variable length field contains up to 79 characters of data from the track 1
magnetic stripe. This field includes the data from the start sentinel to the end sentinel, inclusive.

Field ID (MICR Data) (terminals with IDM only)


Field Size: 1 character
Valid Range: 2
Description: This one-character field identifies the data that follows in the next field as MICR data.

MICR Data (terminals with IDM only)


Field Size: Variable (70 maximum)
Valid Range: The following characters are valid MICR data characters:
 0 through 9 - Numbers
 T - Transit symbol
 $ - Amount symbol
 * - On-us symbol
 - - Dash symbol
 - Blank
Description: The MICR Data field contains data read from buffer 087. Buffer 087 is the default
storage location for MICR data read from a deposited check.

Field ID (Transaction Verification Status Data)


Field Size: 1 character
Valid Range: 6
Description: This one-character field identifies the data that follows in the next set of fields as
Buffer 6 data (transaction verification status data).

Transaction Serial Number from Last Function Command


Field Size: 4 character
Valid Range: 0000 through 9999
Description: This four-character field contains the transaction serial number from the last function
command sent to the terminal.

Response to Last Function Command


Field Size: 1 character
Valid Range: Refer to the description
Description: This one-character field indicates the ATM's response to the last function command. If
there was a power failure and the status or the Ready response (9 or B) did not get sent, this field
indicates what the terminal did or tried to do. The valid values for this field are as follows:
 0 - No response. This response appears in the first Consumer Request message after a
power failure occurred before a function response was generated.
 1 - Ready 9 or B
 2 - Fault status reply
 3 - Last function command rejected

Retract Operation
Field Size: 1 character
Valid Range: Refer to the description
Description: This one-character field indicates whether or not a retract operation occurred during
the last transaction. The valid values are as follows:
 0 - No retract operation occurred
 1 - Retract operation initiated during the last transaction

Device ID (Bill Dispenser)


Field Size: 4 characters
Valid Range: DI01
Description: This is a four-character field that indicates the following status information is for the
bill dispenser.

Opteva AFD with Five Dispense Cassettes. By default, an Opteva AFD with five dispense
cassettes reports status information for only four dispense positions. The cassette in position 5
functions as an extension of one of the other dispense cassettes (Section 3.1), so the bills delivered
count reported for the extended position is actually the combined count for the extended position
and position 5.

If the AFD 5 High feature is enabled, the transaction verification status data includes additional
fields for position 5, and the status information for position 5 is reported separately, rather than
combining it with one of the other four positions.

Bill Denomination ID
Field Size: 1 character
Valid Range: @, and A through H
Description: The Bill Denomination ID fields indicate the denomination ID of each dispense
position at the time of the last bill dispense. These fields can be initialized to all @s (no cassette)
before any bill dispense.

NOTE

The Bill Denomination ID field is repeated for each dispense position supported by the
terminal.

Bills Dispensed Count


Field Size: 5 characters
Valid Range: 00000 through 65535
Description: These fields indicate the number of bills dispensed from each dispense position since
the last function command. This count reflects only those bills presented so that they are accessible
to the consumer. If any bills are retracted or retained after they are presented, the number of bills
retracted or retained is not subtracted from the count.

NOTE
The Bills Dispensed Count field is repeated for each dispense position supported by the
terminal.

Device ID (Coin Dispenser) (terminals with coin dispenser only)


Field Size: 4 characters
Valid Range: CN01
Description: This is a four-character field that indicates the following status information is for the
coin dispenser.

Coin Denomination ID (terminals with coin dispenser only)


Field Size: 1 character
Valid Range: @, and A through H
Description: The Coin Denomination ID fields indicate the denomination ID of each dispense
position at the time of the last coin dispense. These fields can be initialized to all @s (no bin) before
any coin dispense.

NOTE

The Coin Denomination ID field is repeated for each dispense position supported by the
terminal.

Coins Dispensed Count (terminals with coin dispenser only)


Field Size: 5 characters
Valid Range: 00000 through 65535
Description: These fields indicate the number of coins dispensed from each dispense position
since the last function command. Coins cannot be retracted once they are dispensed.

NOTE

The Coins Dispensed Count field is repeated for each dispense position supported by the
terminal.

Field ID (Buffers to Follow)


Field Size: 1 character
Valid Range: 9
Description: The Buffers to Follow entry is a field ID that indicates the next message entries
contain one or more sets of Buffer ID and Buffer Data entries.

NOTE

If the message contains multiple sets of Buffer ID and Buffer Data entries, there is a group
separator (1D hex) between each set.

Buffer ID
Field Size: 3 characters
Valid Range: 065 through 090 (buffers A through Z), and 256 through 355 (enhanced buffers)
Description: The Buffer ID entry identifies the buffer that is the source of the data provided in the
Buffer Data field.
Buffer Data
Field Size: Variable, subject only to the total length limit for Consumer Request messages
Valid Range: For each byte, hexadecimal 00 through FF (decimal 0 through 255)
Description: The Buffer Data entry contains the data stored in the buffer identified in the Buffer ID
entry preceding this entry.

NOTE

It is the responsibility of the network programmer to ensure that any buffer data included in
the Consumer Request message is compatible with communications protocol restrictions.
The recommended range is printable characters (ASCII hex 20 through 7E).

NOTE

The Rollover Count fields are included in the message only if the Append Rollover Counts
feature is selected (Section 5.15).

Rollover Count
Field Size: 3 characters
Valid Range: 000 through 255
Description: Each of these entries contains the two least-significant hexadecimal digits (converted
to decimal) of a four-digit counter. The counter counts the number of bills successfully dispensed
and presented to the consumer. This count reflects only those bills presented so that they are
accessible to the consumer. If any bills are retracted or retained after they are presented, the
number of bills retracted or retained is not subtracted from the rollover count.

NOTE

The Rollover Count field is repeated for each dispense position supported by the terminal.

Opteva AFD with Five Dispense Cassettes. An Opteva AFD with five dispense cassettes reports
rollover counts for only four dispense positions. The cassette in position 5 functions as an extension
of one of the other dispense cassettes (Section 3.1), so the rollover count reported for the extended
position is actually the combined count for the extended position and position 5.

MAC Data
Field Size: 8 characters
Valid Range: Hexadecimal digits (0 through 9, and A through F)
Description: This eight-character field contains hexadecimal characters that represent the MAC
calculation of the Consumer Request message. Refer to the Data Security Procedures and
Reference Manual (TP-799530-001E) for additional details.

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

6.2 Solicited Status Messages


The terminal's response to a network transmitted command message is a Solicited Status
message. The maximum length of this message is 8192 characters. The network expects a reply
concerning the results of the last function performed through a Solicited Status message. If an error
is detected during the last function performed, error status data pertaining to the terminal is inserted
into the status message. If the functions are performed as commanded, a Ready status indicator is
inserted into the status message. Refer to Table 6-2 for a list of the data fields associated with the
Solicited Status message.

Table 6-2 Solicited Status Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Solicited/Unsolicited ID 2 1
Message Identifier 2 1
Field Separator (FS) hex 1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [---] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Status Descriptor --- 1
[1]
Field Separator (FS) hex 1C 1
[1]
Device Identifier (DID) --- 1
[1]
91x Status --- Variable
[1]
[ Group Separator (GS) ] [ hex 1D ] [1]
[1]
[ Device Identifier (DID) ] [---] [1]
[1]
[ 91x Status ] [---] [ Variable ]
[2]
Field Separator (FS) hex 1C 1
[2]
Amount of Coins Dispensed --- 3
[3]
Field Separator (FS) hex 1C 1
[3]
MDS Status --- Variable
[4]
Field Separator hex 1C 1
[4]
Buffers to Follow ID 9 1
[4]
Buffer ID --- 3
[4]
Buffer Data --- Variable
[4]
[ Group Separator (GS) ] [ hex 1D ] [1]
[4]
[ Buffer ID ] [---] [3]
[4]
[ Buffer Data ] [---] [ Variable ]
[5]
Field Separator (FS) hex 1C 1
[5]
Rollover 1 Count --- 3
[5]
Rollover 2 Count --- 3
[5]
Rollover 3 Count --- 3
[5]
Rollover 4 Count --- 3

Protocol Dependent Trailer Variable Variable


[1]
This set of fields is sent when the Status Descriptor field contains the value 8. If the Solicited
Status message is a response to a Configuration Request Operational Command message, this set
includes multiple sets of device identifiers and statuses, each additional set preceded by a group
separator (GS).
[2]
Terminals with coin dispenser only. This set of fields is only sent when the network uses the
Dollar Amount of Coins field in the Function Command message to specify the amount of coins to
dispense, and only if a device fault occurred.
[3]
This set of fields is only sent if the MDS Status to Network feature is selected (Section 5.15).
[4]
This set of fields is optional. If this set is present, there will be at least one Buffer ID field and one
Buffer Data field. Each additional set of Buffer ID fields and Buffer Data fields will be preceded by a
group separator (GS).
[5]
This set of fields is only sent if the Append Rollover Counts feature is selected (Section 5.15). If
the Solicited Status message is a response to a Configuration Request Operational Command
message or a Supply Counts Operational Command message, this set of fields is not included in
the message.
[6]
This parameter is only valid for Diebold 55xx terminals.

The following paragraphs describe the fields for the Solicited Status message:

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Solicited/Unsolicited ID
Field Size: 1 character
Valid Range: 2
Description: This field tells the network whether the message is solicited or unsolicited. For
Solicited Status messages, the only valid value is 2 (solicited).

Message Identifier
Field Size: 1 character
Valid Range: 2
Description: This one-character data field defines the type of message being transmitted. The only
valid value for the Solicited Status message is 2.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The LUNO allows the network to determine which terminal sent the
message once the communication protocol is removed from the message. The LUNO is defined by
the network, using the Write Command 3 message (Section 5.15).

If a machine number has been entered at the terminal and MAC is enabled, the six digits of the
machine number are added to the end of the LUNO. Refer to the Data Security Procedures and
Reference Manual (TP-799530-001E) for additional details.

Message Sequence Number


Field Size: Variable (up to 8 characters)
Valid Range: Refer to the description.
Description: The message sequence number is a network-generated number that identifies the
message for tracking. The network can send this number to the terminal in a Function Command
message, Write Command message, or Operational Command message. The terminal does not
use this number, but if the Message Sequence Number in Solicited Status Messages feature is
selected, Agilis 3 91x returns this number to the network in the Solicited Status message.

If message authentication (MAC) is used, Function Command messages contain a time variant
number in place of the message sequence number. If this is the case, then the Solicited Status
message sent in response to a Function Command message returns that time variant number
rather than a message sequence number.

If the Message Sequence Number in Solicited Status Messages feature is not selected, this field is
empty.

Status Descriptor
Field Size: 1 character
Valid Range: Refer to the description.
Description: This one-character field describes the terminal status as it responded to the
command. The valid values are as follows:
 8 - Device fault or operational command response. This character indicates that a terminal
device is reporting abnormal status or that response data for an operational command
follows.
 9 - Ready. This character indicates the successful completion of either an Operational
Command message or a Function Command message when the Separate Ready for
Function Command Message feature is not selected.
 A - General Command Reject. This character indicates the unsuccessful completion of
either an Operational Command message or a Function Command message. For example,
the terminal can report a General Command Reject in any of the following cases:
o The terminal receives an illegal command from the network
o The terminal receives illegal data from the network
o The terminal receives a Function Command message when it is not in a
Transaction Request state
Refer to Section 6.7 for a list of additional General Command Reject conditions.
 B - Ready. When separate Ready for function commands is selected, this character
indicates successful completion of the function command.
 C - Specific MAC Command Reject. If the status descriptor is C, the network's message
has been rejected by the Message Authentication Code (MAC) activity due to a message
authentication failure. For detailed information about the Specific MAC Command Reject
status, refer to the Agilis Message Authentication Code (MAC) Operating Guide (TP-
821203-001A).
 D - Specific Command Reject. The terminal can be configured to report specific reasons
when rejecting a network command (Section 5.15). Reject reason codes are described in
Section 6.2.11.
 J - Enhanced Status. If a J is sent as the status descriptor, this message contains status for
one of the enhanced status devices. Refer to Section 6.2.10 for further details.

Device Identifier (DID)


Field Size: 1 character
Valid Range: Refer to the description.
Description: When the Status Descriptor field contains the value 8, this field identifies the device
reporting the abnormal status, as shown in Table 6-3.
Table 6-3 Device Identifiers for Device Fault Statuses
Device ID Device(s) Refer to...
2 Printer (receipt printer or journal printer) Section 6.2.1
< Configuration ID Section 7.4.1
= Card writer Section 6.2.3
> Card reader Section 6.2.4
? Dispenser (bill dispenser) Section 6.2.5
@ Presenter Section 6.2.6
A Depository - Envelope depository Section 6.2.7
Depository - IDM Section 6.2.8
B Hardware configuration Section 7.4.2
D Cassette Section 7.4.3
G Coin dispenser Section 6.2.9
H Supply counts Section 7.5

91x Status
Field Size: Variable
Valid Range: Refer to the description.
Description: Each status byte is broken up into upper and lower nibbles. Each nibble is transmitted
without decimal conversion, with the upper nibble transmitted first. The hexadecimal device status
code from the terminal to the network is converted into two separate bytes of ASCII or EBCDIC
code. For details of this field, refer to Section 6.2.1 through Section 6.2.10. Following are examples
of how the terminal transmits the device status to an ASCII network and an EBCDIC network.

EXAMPLE - ASCII Network

If the terminal generates a status byte of hexadecimal 4B, the status byte is converted to
hexadecimal 34 3B, which is the ASCII code for the characters 4 and ; (semicolon). The terminal
then transmits hexadecimal 34 3B (4 ; ) in the 91x Status field. When the network receives the
status of hexadecimal 34 3B, the network reassembles the data into the original hexadecimal 4B
status byte.
EXAMPLE - EBCDIC Network

If the terminal generates a status byte of hexadecimal 4B, the status byte is converted to
hexadecimal 34 3B, the same as for the ASCII network, but this data is then converted to F4 5E,
which is the EBCDIC code for 4 ; . The terminal then transmits hexadecimal F4 5E (4 ; ) in the 91x
Status field. When the network receives the status of hexadecimal F4 5E, the network converts the
data back into the original hexadecimal 4B status byte.

NOTE

The following field is included in the Solicited Status message only when the network uses
the Dollar Amount of Coins field in the Function Command message to specify the amount
of coins to dispense, and only if a device fault occurred during function command
processing. For details, refer to Section 6.4.

Amount of Coins Dispensed (terminals with coin dispenser only)


Field Size: 3 characters
Valid Range: See description
Description: The Amount of Coins Dispensed field indicates the actual amount of coins dispensed,
as reported by the coin dispenser. The amount is formatted as three decimal digits, with leading
zeros as required (for example, this field would contain 049 for the dollar amount $0.49).

MDS Status
Field Size: Variable
Valid Range: Refer to the description.
Description: As an option, Agilis 3 91x can send MDS status to the network in a Solicited Status
message. This feature is a terminal configuration option set by the network through the
Miscellaneous Features 2 field of the Write Command 3 message (Section 5.15). When this feature
is selected, the terminal sends both the 91x status and the MDS status in Solicited Status
messages that contain device status (not including messages that contain configuration
information).

The data in the MDS Status field is the same data that the terminal prints on the journal printer and
is in the same format. Refer to the Consolidated MDS Status Reference Manual (TP-821839-001A)
for a description of the data printed on the journal printer.

For expanded MDS status, the Estimated First Cause (EFC) codes are also sent to the host.

The Estimated First Cause (EFC) codes provide the following information about a device fault:

 Name of the device or module where the fault has occurred


 Location of the fault
 Specific error in the device or module that caused the fault

The format of the EFC code is as follows:

AAA B CC DD

where,
 AAA. A three-digit alphanumeric value that uniquely identifies the module or device where
the fault has occurred.
Refer to Table 6-4 for a list of some valid module and device names used in EFC codes.
 B. Reserved for future use and will contain the value 0.
 CC. A two-digit alphanumeric value that identifies the location or type of the fault in a
module or device.
Refer to Table 6-5 for a list of valid fault locations used in the EFC.
 DD. A two-digit alphanumeric value that indicates the specific error in the module or device
which caused the fault.
Refer to Table 6-6 for a list of valid errors used in the EFC.

Table 6-4 lists and describes some of the valid module or device names used in the EFC.

Table 6-4 Valid Module and Device Names (AAA)


Value Description
AFD Discovery
ASD Anti Skimming Device
DIP Dip Card Reader
PRJ Journal Printer
MCR Motorized Card Reader
SCR ActivEdge
PR2 Enhanced Graphical Receipt Printer
TAS TMD Anti Skimming Device
EP7 EPP 7

Table 6-5 lists and describes some of the valid values for the fault location identified in the EFC.

Table 6-5 Valid Values for EFC Fault Location (CC)


Value Description
CO Communication error
ZZ Unknown Error
DR Door Error
PL Platen Error
HD Read/Write/Print Head Error SC Scanner/Acceptor Error
ST Stacker Error
RB Retract Bin/Cassette Error
RJ Reject Bin/Cassette Error
Cn Cassette/Bin n Error (C1, C2, C3, &mldr;, Cn)
SH Shutter Error
FW Firmware Error
TP Transport Error
CT Cutter Error
XS Exit Slot Error
PW Power Supply Error
PR Paper Roll Error
HW Undetermined Hardware Error
SW Software Error
TM TPM Error
SP SPEAR Error
BT Battery Error
FD Fraud Error
MT Motor Error
CA CCA Board Error
AF Anti Fraud Module Error
SE Security Error
LA LACB Error
UB USB Error

Table 6-6 lists and describes some of the valid values for the specific errors identified in the EFC.

Table 6-6 Valid Values for EFC Errors (DD)


Value Description
01 Open (modules such as platen, shutter, door are open when they should not be opened)
02 Closed (modules such as platen, shutter, door are closed when should not be closed)
03 Full
04 High
05 Low
06 Empty/Out
07 Jammed
08 Blocked (modules such as door, sensor are blocked when they should be unblocked)
09 Unblocked modules such as door, sensor are unblocked when they should be blocked)
10 Generic Error
11 Fraud
12 Potential Fraud
13 Software error where a configuration value is missing
14 Software error where an incompatible driver is installed
15 Software error where an incompatible firmware is installed
16 Software error where an incompatible API is installed
17 Module offline (NOT USB connected)
18 Module is unpaired
Buffers to Follow ID
Field Size: 1 character
Valid Range: 9
Description: The Buffers to Follow ID entry is a field ID indicating that the following message fields
(Buffer ID and Buffer Data) contain buffer data from an Agilis 3 91x buffer. If the terminal sends
buffer data from more than one buffer, the message contains a Buffer ID field and a Buffer Data
field for each buffer.

NOTE

If the message contains multiple sets of Buffer ID and Buffer Data fields, there is a group
separator (1D hex) between each set.

Buffer ID
Field Size: 3 characters
Valid Range: 065 through 090 (buffers A through Z), and 256 through 355 (enhanced buffers)
Description: The Buffer ID entry is a Group ID that identifies a buffer.

Buffer Data
Field Size: Variable
Valid Range: For each character, 0 through 9, A through Z, a through z, + / and =
Description: The Buffer Data entry contains the data stored in the buffer identified in the Buffer ID
entry preceding this entry.

NOTE

The Rollover Count fields are included in the message only if the Append Rollover Counts
feature is selected through the Miscellaneous Features 1 field of the Write Command 3
message Section 5.15). These fields (and the preceding field separator) are not included if
the message is sent in response to a Configuration Request Operational Command message
or a Supply Counts Operational Command message.

Rollover Count
Field Size: 3 characters
Valid Range: 000 through 255
Description: Each of these entries contains the two least-significant hexadecimal digits (converted
to decimal) of a four-digit counter. The counter counts the number of bills successfully dispensed
and presented to the consumer. This count reflects only those bills presented so that they are
accessible to the consumer. If any bills are retracted or retained after they are presented, the
number of bills retracted or retained is not subtracted from the rollover count.

NOTE

The Rollover Count field is repeated for each dispense position supported by the terminal.

Opteva AFD with Five Dispense Cassettes. An Opteva AFD with five dispense cassettes reports
rollover counts for only four dispense positions. The cassette in position 5 functions as an extension
of one of the other dispense cassettes (Section 3.1), so the rollover count reported for the extended
position is actually the combined count for the extended position and position 5.
Protocol Dependent Trailer
Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

6.2.1 Printer Status (solicited) (DID = 2)

There are three bytes in Printer solicited status. Printer solicited status is only sent during print and
wait operations. Refer to Table 6-7 for detailed bit definition of these three bytes.

Table 6-7 Printer Solicited Status (DID = 2)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 7 Print operation If this bit is set, the print operation has been completed.
complete
6- ----- Not applicable
5
4 Data format error,
cannot print
3 Passbook printer has A fault has occurred on the passbook printer which requires
faulted attention.
2 Statement printer A fault has occurred on the statement printer which requires
has faulted attention.
1 Receipt printer has A fault has occurred on the receipt printer which requires attention.
faulted Detailed fault information is available in Printer solicited status byte
1.
0 Journal printer has A fault has occurred on the journal printer which requires attention.
faulted Detailed fault information is available in Printer solicited status byte
2.
1 7 Receipt printer has This fault is normally caused by a depleted receipt printer paper
run low on paper roll. It is corrected by reloading the printer. If this fault is indicated
and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
6 ----- Not applicable
5 Receipt printer has This fault is normally caused by the printer paper roll being
run out of paper depleted. This fault is corrected by reloading the printer. If this fault
is indicated and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
4 ---- Not applicable
3 Fault occurred during Bursting of the receipt is controlled by a dark mark on the right side
a top-of-form search of each receipt. This mark is optically detected by a top-of-form
on the receipt printer sensor. When this mark is detected, the receipt is burst and
presented to the consumer. If this mark is not found after
approximately six seconds of paper movement (because of a paper
loading problem, a paper jam, or possibly an electrical or
mechanical problem), the following takes place: the paper
movement halts, no burst is attempted, and this fault is indicated.
2 Fault occurred during After printing a line on the consumer receipt, the printer performs a
a head return and carriage return of the print head to prepare for the next line of data.
line feed on the At the same time a paper line feed is done. Of these, only print
receipt printer head movement can be detected by the paper margin sensor. The
fault indications are caused by a failure of the print head to return
to the start position. No monitoring of actual paper movement is
done. A fault is not indicated if a paper line feed is not done
because of a paper drive problem. A print head carriage return
problem can be caused by a paper jam or other obstruction, an
electrical or mechanical failure of the print head drive, or a failure of
the paper margin sensor. A fault indication might also be caused by
an electronic failure that is caused by a failure of the printer
electronics to send a ready signal to the terminal's microcomputer
indicating task completion.
1 Fault occurred during Refer to bit 2.
a head return on the
receipt printer
0 Fault occurred during This fault is indicated following an attempt to print a line of
a line print on the characters on the receipt. Fault causes are:
receipt printer
 The print head fails to move because of a paper jam or
other obstruction, a mechanical failure of the print head
drive assembly, or an electrical failure of the head motor
drive electronics.
 An electrical failure of the paper margin sensor. This
sensor indicates where on the form to begin printing.
 A failure of the printer electronics to send back a ready
signal when commanded to print a line.

2 7 Journal printer has This fault is normally caused by a depleted journal printer paper
run out of paper roll. It is corrected by reloading the printer. If this fault is indicated
and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
6 Electrical fault This is an electrical fault caused by a malfunction of the journal
detected on ready printer electronics. The printer electronics has a signal line called
line of journal printer ready which is used to signal the terminal's microcomputer that a
printer task has been completed. A printer task complete is
indicated by a logic low level (ground) on this signal line. This line
is then reset by an acknowledgment signal from the
microcomputer. If the ready line fails to reset (remains grounded),
this fault is indicated.
5 Journal printer has This fault is normally caused by a depleted journal printer paper
run low on paper roll. It is corrected by reloading the printer. If this fault is indicated
and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
4- ---- Not applicable
3
2 Fault occurred during After printing a line on the journal printer paper roll, the printer does
a head return and a carriage return of the print head to prepare for the next line of
line feed on the data. At the same time, a paper line feed is done. Of these, only
journal printer the print head movement can be detected by the paper margin
sensor. Fault indications are caused by a failure of the print head to
return to the start position. The printer does not monitor actual
paper movement. A fault is not indicated if a paper line feed is not
done because of a paper drive problem.

A print head carriage return problem can be caused by a paper jam


or other obstruction, an electrical or mechanical failure of the print
head drive, or a failure of the paper margin sensor. A fault
indication can also be caused by an electronic failure, caused by a
failure of the printer electronics to send a ready signal to the
terminal's microcomputer that indicates task completion.
1 Fault occurred during Refer to bit 2.
a head return on the
journal printer
0 Fault occurred during This fault follows an attempt to print a line of characters on the
a line print on the journal printer paper roll if one of the following occurs:
journal printer
 The print head fails to move due to a paper jam or other
obstruction, a mechanical failure of the print head drive
assembly, or an electrical failure of the head motor drive
electronics.
 An electrical failure of the paper margin sensor. This
sensor indicates where on the form to begin printing.
 A failure of the printer electronics to send back a ready
signal when commanded to do a line print.

6.2.2 After Hour Depository Status (solicited) (DID = 3)

There is one byte for After Hour Depository solicited status. Refer to Table 6-9 for detailed bit
definition of these bytes.

Table 6-8 After Hour Depository Solicited Status (DID = 3)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 7 --- Not applicable
6 Door open at timeout
or cancel
5 Bin full or bag The deposit bin is full, or a bag or other materials are jammed in
jammed in throat the throat of the depository.
4 Bag not seen in chest Reserved (set to 0)
throat
3 Door locked (this bit is If this bit is the only bit set, it indicates an AHD deposit incomplete
the complement of bit transaction but with no malfunctions. If this bit and bit 2 are set,
1) the AHD deposit transaction was successful with no malfunction.
2 Cycle complete The AHD deposit transaction was successful, and the materials
have been placed in the safe. If this bit is not set, the transaction
was incomplete.
1 AHD will not lock There might be a jam in the mechanism or an electromechanical
malfunction. Attention is required to clear the jam or service the
mechanism.
0 AHD will not open There is an electromechanical malfunction. Attention is required to
service the mechanism.

6.2.3 Card Writer Status (solicited) (DID = =)

There are two bytes for the Card Writer solicited status. Refer to Table 6-9 for detailed bit definition
of these bytes.

Depending on the capabilities of the card reader, all three tracks can be written, but only one track
can be written at a time. This status applies to whichever track was being written at the time the
fault occurred.

Table 6-9 Card Writer Solicited Status (DID = = )


Abbreviated
Byte Bit Bit Definition Detailed Bit Definition
0 7 Good write was This bit is set if the terminal could not verify a successful write on the
not verified specified track. The terminal verifies a successful track write by reading
the track of the card after writing on that track.
6 - Card write error Not applicable
1 limit exceeded
0 No start or end The track being written's data buffer does not contain a start and an end
sentinel sentinel. No writing was attempted.
1 7 Read operation This bit is used internally by the terminal for sequencing and is always
complete turned on in this status byte.
6- ---- Not applicable
4
3 Card in Retain This bit is used internally by the terminal for sequencing. This bit being
position set does not indicate a status change requiring sending a status
message. For example, status messages that include this bit on, have
other status.
2 Soft failure If this bit is set, the terminal sensed an abnormal condition in the card
reader. For example, the front and rear switches were closed
simultaneously. If this bit is set, the terminal completes the current card
write and allows future card writes. Soft failure refers only to card motion
and not card write errors.
1 Hard Fault If this bit is set, a fault has occurred on the card reader that requires
attention before another card write can be correctly processed. This
fault is normally caused by a card being jammed on the read head that
the card reader cannot return or retain. Hard fault refers only to card
motion and not card write errors.
0 Card in rear If this bit is set, the terminal retained a card that it could not return
because of a mechanical failure. This bit being set does not cause the
terminal to send a status message.

6.2.4 Card Reader Status (solicited) (DID = >)

There are two bytes for the Card Reader solicited status. Refer to Table 6-10 for detailed bit
definition of these bytes.
Table 6-10 Card Reader Solicited Status (DID = >)
Abbreviated
Byte Bit Bit Definition Detailed Bit Definition
0 7 Card return This bit is set if the card reader mechanism failed to return the card.
failure Refer to Byte 1 for details.
6 Card return This bit is set if the consumer failed to take the card within the timeout
timeout period. A card capture was initiated.
5 Card capture This bit is set if a card capture was initiated, but failed.
failure
4- ---- Not applicable
0
1 7 Read operation This bit is used internally by the terminal for sequencing and is always
complete turned on in this status byte.
6 Track 1 read These bits can appear on or off in any combination reflecting the status
error of the last read operation. If any of these bits are on and bits 1 and 0 are
off, the terminal is reporting that the card read error limit has been
reached. The card read error limit is set in the Agilis Configuration Utility.
Shutdown of the terminal is not necessary, but a timely inspection of the
card reader is suggested.
5 Track 2 read
error
4 Track 3 read
error
3 Card in retain This bit is used internally by the terminal for sequencing. This bit being
position set does not indicate a status change requiring sending a status
message, for example, status messages that include this bit on have
other status.
2 Soft failure If this bit is set, the terminal sensed an abnormal condition in the card
reader. For example, the front and rear switches were closed
simultaneously. If this bit is set, the terminal completes the current card
read and allows future card reads. Soft failure refers only to card motion
and not card read errors.
1 Hard Fault If this bit is set, a fault has occurred on the card reader that requires
attention before another card read can be correctly processed. This fault
is normally caused by a card being jammed on the read head that the
card reader cannot return or retain. Hard fault refers only to card motion
and not card read errors.
0 Card in rear If this bit is set, the terminal retained a card that it could not return
because of a mechanical failure. This bit being set does not cause the
terminal to send a status message.

6.2.5 Dispenser Status (solicited) (DID = ?)

There are 40 bytes for Dispenser status. Refer to Table 6-11 for the byte definitions. Refer to Table
6-12 for the Dispenser error codes that can be contained in bytes 1 and 2 of the Dispenser solicited
status.

Opteva AFD with Five Dispense Cassettes


An Opteva AFD with five dispense cassettes reports status for only four dispense positions. The
cassette in position 5 functions as an extension of one of the other dispense cassettes (Section
3.1), so the status reported for the extended position is actually the combined status for the
extended position and position 5.
Table 6-11 Dispenser Solicited Status (DID = ?)
Abbreviated Byte
Byte Definition Detailed Byte Definition
0 Withdrawal area This byte defines delivery area status as follows:
status 0 - No error
1 - Delivery door open before dispense (bills in escrow)
3 - Sensors blocked before dispense
5 - Sensors not blocked after dispense
1 - 2 Dispense error code The bill dispenser error codes for each dispense error are listed in Table
6-12. The error codes shown in Table 6-12 are listed as graphic
characters. However, all bytes in this table, Table 6-11, are in ASCII
code.
3 Partial dispense This byte defines dispense status as follows:
status 0 - Good dispense (bills dispensed = bills requested)
1 - Not applicable
2 - Bad dispense, continuation not possible
3 - Dispense is not possible (no money was dispensed)
4 - Denomination error after redefining the denominations present, a
second try is possible
5 - Good partial dispense. Continuation is possible. The number of bills
dispensed does not equal the number of bills requested. Possibly out of
bills.
4 Cassette Position This byte contains the position of the cassette from which the terminal
dispensed. The valid characters are as follows:
1 - First cassette position (top)2 - Second cassette position
3 - Third cassette position
4 - Fourth cassette position (bottom)
5 Denomination ID This byte equals the denomination ID of the corresponding cassette
position in byte 4 of this message. The valid characters are as follows:
A through H - Type of bill
a through h - Type of bill that is low or empty
J - Denomination ID cannot be read
@ - No cassette present
_ (underscore) - No feed module present
6 - 7 Number of Bills These two bytes indicate the number of bills dispensed, in decimal. The
Dispensed valid characters are 00 through 99. Refer also to the description of byte
10.
8 - 9 Number of Divert These two bytes indicate the number of divert operation performed, in
Operations decimal. The valid characters are 00 through 99. Refer also to the
description of byte 11.
10 Extended Number This byte is used only with the 100 Bills Dispense feature (Section 3.1).
of Bills Dispensed If 100 bills were dispensed, the Number of Bills Dispensed field contains
the value 99 and this byte contains 1. If the feature is not in use or the
number of bills dispensed is less than 100, this byte is zero.
11 Extended Number This byte is used only with the 100 Bills Dispense feature (Section 3.1).
of Divert Operations If 100 divert operations were performed, the Number of Divert
Operations field contains the value 99 and this byte contains 1. If the
feature is not in use or the number of divert operations is less than 100,
this byte is zero.
12 --- Not applicable (set to 0)
13 - Dispenser Status for These bytes contain the dispenser status of the second cassette
21 second cassette position. This information is in the format of bytes 4 through 12.
position
22 - Dispenser Status for These bytes contain the dispenser status of the third cassette position.
30 third cassette This information is in the format of bytes 4 through 12.
position
31 - Dispenser Status for These bytes contain the dispenser status of the fourth cassette position.
39 fourth cassette This information is in the format of bytes 4 through 12.
position
40 - Dispenser Status for These bytes contain the dispenser status of the fifth cassette position.
48 fifth cassette This information is in the format of bytes 4 through 12.
position
49 Record Separator This field is present only if the Dispenser Device ID follows.
(RS)
50 Dispenser Device This field is optional and will only be present in the message if the Send
ID Dispenser Device ID parameter is enabled in the ACU. Valid values
are 1 or 2.

If the Send Dispenser Device ID parameter is not enabled, then the


device ID will not be sent in the status message.
Table 6-12 Dispenser Error Codes
Error Code (bytes Partial Dispense Status
1 and 2 in Table Field (byte 3 in Table 6- Is Repair
[1]
6-11) Error Type 11) Required?
00 No error 0 No
01 Unsolicited bill from cassette 2 No
position 1 (top)
02 Unsolicited bill from cassette 2 No
position 2
03 Unsolicited bill from cassette 2 No
position 3
04 Unsolicited bill from cassette 2 No
position 4 (bottom)
09 Stream feed from cassette position 1 5 No
(top)
10 Stream feed from cassette position 2 5 No
11 Stream feed from cassette position 3 5 No
12 Stream feed from cassette position 4 5 No
(bottom)
17 Feed Failure from cassette position 5 No
1 (top)
18 Feed Failure from cassette position 5 No
2
19 Feed Failure from cassette position 5 No
3
20 Feed Failure from cassette position 5 No
4 (bottom)
25 Jam before double-detect switch 2 Yes
from cassette position 1 (top)
26 Jam before double-detect switch 2 Yes
from cassette position 2
27 Jam before double-detect switch 2 Yes
from cassette position 3
28 Jam before double-detect switch 2 Yes
from cassette position 4 (bottom)
33 Jam between double-detect switch 2 Yes
and exit throat
34 Jam between double-detect switch 2 Yes
and divert throat
35 Denomination error 4 No
36 Unidentified cassette 3 Yes
37 During dispenses, the diverter 2 Yes
cannot go to the exit position
38 During dispenses, the diverter 2 Yes
cannot go to the divert position
39 Double bill dispensed 2 No
40 Long or Short bill dispensed 2 No
41 Feed and single counted bills are not 2 No
equal from cassette position 1 (top)
42 Feed and single counted bills are not 2 No
equal from cassette position 2
43 Feed and single counted bills are not 2 No
equal from cassette position 3
44 Feed and single counted bills are not 2 No
equal from cassette position 4
(bottom)
49 Single and exit counted bills are not 5 No
equal from cassette position 1 (top)
50 Single and exit counted bills are not 5 No
equal from cassette position 2
51 Single and exit counted bills are not 5 No
equal from cassette position 3
52 Single and exit counted bills are not 5 No
equal from cassette position 4
(bottom)
57 Bill dispenser received invalid data 3 Yes
58 Too many bills dispensed 2 No
59 Timing wheel error 2 Yes
60 Feed, exit, or divert sensor blocked 2 Yes
63 Bill dispenser RAM error 3 Yes
64 Bill dispenser USART error 3 Yes
65 Cassettes shuffled 4 No
67 Diverter does not energize 2 Yes
68 Diverter in wrong position at start of 2 Yes
dispense
78 Divert cassette is full 2 No
79 Divert cassette is not present 3 No
80 No cassette in feed module for test 3 No
dispense
81 Dispense timeout 2 Yes
82 Not used
83 Linear Variable Differential 2 Yes
Transformer (LVDT) double-detect,
out of limits
84 Purge error following dispense error 2 Yes
90 Communication timeout 3 Yes
91 Communication data invalid 2 Yes
92 Excessive NAKs for a command 3 Yes
93 Not used
94 Unreported problem with feed 0 No
module 1 (top)
95 Unreported problem with feed 0 No
module 2
96 Unreported problem with feed 0 No
module 3
97 Unreported problem with feed 0 No
module 4 (bottom)
[1]
Repair refers to corrective action that cannot be done by the institution's operator and is done by
a service representative.

6.2.6 Presenter Status (solicited) (DID = @)

There is one byte for Presenter solicited status. The following table lists the statuses are applicable
for terminals with a presenter.

Description Data
Present Status 00 - Fault on present - consumer did not have access to cash
01 - Fault on Restore Operation
04 - Fault on present - consumer had access to cash, or no stack to present
30 - Money forgotten (the consumer did not take the cash)
Record Separator Optional, only present if Dispenser Device ID follows.
(RS)
Dispenser Device The Dispenser Device ID for this status. Valid values 1 or 2. Only present if
ID Send Dispenser Device ID is enabled in the ACU.

If the Send Dispenser Device ID parameter is not enabled, then the device ID
will not be sent in the status message.

 00 - Fault on present - consumer did not have access to cash


 01 - Fault on Restore Operation
 04 - Fault on present - consumer had access to cash, or no stack to present
 30 - Money forgotten (the consumer did not take the cash)

6.2.7 Depository Status (solicited) for Envelope Depository (DID = A)

Table 6-13 lists and defines the Depository status information for an envelope depository.

NOTE

At present, Agilis 3 91x always sets byte 2 to the value 00.

Table 6-13 Depository Solicited Status for Envelope Depository (DID = A)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 (depository 7 --- Not applicable
status)
6 Hard Fault If this bit is set, a depository fault has occurred that requires
attention before another can be correctly processed. This
fault is normally caused by a stuck envelope in the envelope
entry slot or a missing deposit cassette. If this bit is set, the
terminal cannot complete the current deposit and future
deposits should not be attempted.
5 Printer error The printer that stamps the deposit envelope with a specific
serial number has not moved to the desired increment. Refer
to status byte 1 for more detailed information on the printer
module fault status. This fault requires service assistance.
4 Consumer An envelope has not been deposited during the allotted time
timeout period.
3 Deposit cassette A deposit cassette is not present. No deposit is attempted.
not present
2 Deposit If this bit is set, the terminal started receiving the envelope
incomplete or but the terminal never sensed the envelope entering the
Depository not deposit cassette. This is probably caused by either a
present depository fault or by the consumer inserting then removing
the envelope.
1 Deposit cassette The deposit cassette is full. It must be emptied before the
full, do not next deposit can start. No deposit is attempted.
continue
0 Soft fault If this bit is set, a fault has occurred on the depository. This
fault is normally caused by a switch failure. If this bit is set,
the terminal completes the current deposit and allows future
deposits.
1 (printer 7- ---- Not applicable
module fault 5
status)
4 Consumer cancel Reserved for future use
3 Thousands The deposit thousands-digit print module has not increased
module error to the desired number. This fault requires service assistance.
2 Hundreds module The deposit hundreds-digit print module has not increased to
error the desired number. This fault requires service assistance.
1 Tens module The deposit tens-digit print module has not increased to the
error desired number. This fault requires service assistance.
0 Units module The deposit units-digit print module has not increased to the
error desired number. This fault requires service assistance.
2 (exit path) 7 - Sequence ID The program exit path at the time of the fault (for service use
0 only).

6.2.8 Depository Status (solicited) for IDM (DID = A)

Table 6-14 lists and defines the Depository status information for an IDM.

NOTE

At present, Agilis 3 91x always sets byte 3 to the value 00.

Table 6-14 Depository Solicited Status for IDM (DID = A)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 (depository 7 Abnormal document Abnormal document retain
status) retain
6 Hard fault If this bit is set, a depository fault has occurred that
requires attention before another can be correctly
processed. This fault is normally caused by stuck media
in the transport. If this bit is set, the terminal was unable
to complete the current deposit.
5 ---- Not applicable
4 Consumer timeout A check or other document has not been deposited
during the allotted time period.
3 Initial condition fault A deposit cassette is not present, the rotating assembly
is unlatched, the printhead is missing, or check bins are
missing.
2 ---- Not applicable
1 Deposit cassette full, do The deposit cassette is full. It must be emptied before
not continue, or invalid the next deposit can start. No deposit is attempted. OR
check bin specified in a the specified bin is not present in IDM. No deposit is
retain or capture attempted. Use another bin.
operation
0 Soft fault If this bit is set, a fault has occurred on the depository.
This fault is normally caused by a switch failure. If this
bit is set, the terminal completes the current deposit and
allows future deposits.
1 (printer 7 MICR read fault If this bit is set, a MICR read fault was encountered. If
module fault any MICR data was found, it is available for inclusion in
status) a Consumer Request message, depending on the Send
Track 1, Track 3, and/or MICR Data entry in the
Transaction Request state.
6- ---- Not applicable
5
4 Consumer cancel If this bit is set, the consumer cancelled a deposit
operation. This bit is set in addition to the consumer
timeout bit (byte 0, bit 4). The Deposit Cancel Status Bit
feature must be set in the Miscellaneous Features 1
field of the Write Command 3 message for this bit to be
set.
3- ---- Not applicable
0
2 7 Depository disabled The IDM has been disabled either due to a fault or by
the network.
6- ---- Reserved. Set to 0
5
4 Document handling The IDM has encountered one of the following
error problems while trying to transport a check:
 Mechanism cannot lift the gate during a
straighten sequence
 Cannot position the shuttle during a straighten
sequence
 Document cannot reach the magnetic sensor
 Cannot straighten the document
 Document cannot position in the bottom hold
area
 Document cannot position in the top hold area

3 Bin error The selected bin was unusable or was full. This status
might also indicate a possible jam.
2 Document size error Inserted document is too short, too long, or too thick.
1 Scanner error The scanner did not operate, indicating a scanner fault.
0 MICR hardware error MICR processor fault.
3 7 - Operation data Four bits of operation data defined as follows:
4
 0000 - Reserved
 0001 - Reserved
 0010 - Check deposit
 0011 - Check retain
 0100 - Return check with printing
 0101 - 1111 - Reserved

3 - Bin data Four bits of Bin data defined as follows:


0
 0000 - bin 0
 0001 - bin 1
 0010 - bin 2

And so on.

6.2.9 Coin Dispenser (solicited) (DID = G)

There are 20 bytes for Coin Dispenser solicited status . All bytes of this status contain character
data rather than bitmap data. Refer to Table 6-15 for the byte definitions. Refer to Table 6-16 for the
coin dispenser error codes in bytes 1 and 2 of the Coin Dispenser solicited status.

Table 6-15 Coin Dispenser Solicited Status (DID = G)


Abbreviated Byte
Byte Definition Detailed Byte Definition
0 Coin dispenser The following values are defined for this byte:
docked
 0 - Coin dispenser docked
 1 - Coin dispenser not docked

1 - 2 Dispense error These bytes contain two hexadecimal digits. Refer to Table 6-16 for a list
code of the dispense error codes.
3 Partial dispense This byte defines coin dispense status. The valid values are as follows:
status
 0 - Good dispense. The number of coins dispensed equals the
number of coins requested.
 2 - Bad dispense. Continuation is not possible. Some coins
might be in the slot.
 3 - Dispense is not possible. No coins were dispensed.
 4 - Denomination error. Try again after remix. No coins were
dispensed.
 5 - Good partial dispense. Continuation is possible. The number
of coins dispensed is not the number of coins requested.
Possibly out of coins.

4 Bin position This byte specifies the bin position associated with the next three bytes
of data. Valid values are 1 (front bin) through 4 (back bin).
5 Denomination ID This byte identifies the coin denomination associated with the bin
specified in the preceding Bin Position byte. The valid values are as
follows:
 A through H - Type of coin
 a through h - Type of coin, supply low or empty
 J - Denomination ID cannot be read
 @ - No bin present or no feed module present

6 - 7 Number of coins These two bytes contain two decimal digits that indicate the number of
dispensed coins dispensed from the bin specified in the preceding Bin Position byte.
The valid values are 00 through 30.
8- Dispense status These bytes contain the dispense status for bin position 2. This
11 for position 2 information is in the format of bytes 4 through 7.
12 - Dispense status These bytes contain the dispense status for bin position 3. This
15 for position 3 information is in the format of bytes 4 through 7.
16 - Dispense status These bytes contain the dispense status for bin position 4. This
19 for position 4 information is in the format of bytes 4 through 7.
Table 6-16 Coin Dispenser Error Codes
Partial Dispense Status
Error Code (Bytes 1 Field (Byte 3 in Table 6- Is Repair
[1]
and 2 in Table 6-15) Error Type 15) Required
00 No error 0, 5 No
01 Unsolicited coin from feed 2 No
module 1 (front)
02 Unsolicited coin from feed 2 No
module 2
03 Unsolicited coin from feed 2 No
module 3
04 Unsolicited coin from feed 2 No
module 4 (back)
17 Feed failure from feed module 5 No
1 (front)
18 Feed failure from feed module 5 No
2
19 Feed failure from feed module 5 No
3
20 Feed failure from feed module 5 No
4 (back)
25 Jam failure from feed module 1 2 Yes
(front)
26 Jam failure from feed module 2 2 Yes
27 Jam failure from feed module 3 2 Yes
28 Jam failure from feed module 4 2 Yes
(back)
33 Jam between picker and 2 Yes
delivery sensors
35 Denomination error 4 No
35 RAM error 3 Yes
58 Too many coins dispensed 2 Yes
60 Delivery sensor blocked 2 Yes
63 Coin dispenser RAM error 3 Yes
8A Feed module 1 (front) coin 2 Yes
sensor stuck clear/blocked
8B Feed module 2 coin sensor 2 Yes
stuck clear/blocked
8C Feed module 3 coin sensor 2 Yes
stuck clear/blocked
8D Feed module 4 (back) coin 2 Yes
sensor stuck clear/blocked
90 Communication timeout 3 Yes
[1]
Repair refers to a corrective action that cannot be performed by the institution's operator and is
usually performed by a service representative.

6.2.10 Enhanced Status (solicited) (Status Descriptor = J)

Agilis 3 91x reports solicited status for the following enhanced status devices:

 Currency acceptor
 Envelope dispenser
 Passbook printer
 Statement printer

The format of an enhanced status is as follows:

 Operation Sequence Number. This is a three-character field with a range of 001 through
009. This field indicates which function caused the status. For example, if a currency
acceptor is directed to do a cash deposit, then a cash verify, and this field is 002, then the
second function (cash verify) is the function that caused the status.
 Device ID. This is the four-character device identifier of the device that sent the status. For
solicited statuses, the following device IDs are valid:
o CI01 - Currency acceptor
o SD01 - Envelope dispenser
o PB01 - Passbook printer
o SP01 - Statement printer
 Fault Status. This status is the MDS-type fault status data. MDS-type status data is a series
of three-character fields, each field consisting of a colon character ( : ), followed by two
hexadecimal digits.

For example, a currency acceptor no cash fault might appear as follows:

Status Descriptor J
Field Separator hex 1C
Operation Sequence Number 002
Device ID CI01
Fault Status :3F:31:31

For details on the actual status definitions, refer to the Consolidated MDS Status Reference Manual
(TP-821839-001A).

6.2.11 Specific Command Reject Status

A command reject condition is reported to the network when the terminal rejects a network
command. To enable sending Specific Command Reject statuses, the network must select the
Reject Reason Codes to Network feature, using the Write Command 3 message (Section 5.15) or
the Agilis Configuration Utility. (If this feature is not selected, the terminal sends only the General
Command Reject status when rejecting a network command.)

Table 6-17 shows the format of Solicited Status messages that report a Specific Command Reject
status.

Table 6-17 Solicited Status Message - Specific Command Reject


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Solicited Status 2 1
Status Message Identifier 2 1
Field Separator (FS) hex 1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [ - - - ] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Status Descriptor D 1
Field Separator (FS) hex 1C 1
Host Message Identifier --- 1
Host Message Subidentifier --- 2
Reject Reason Code --- 2
End of Text (ETX) hex 03 1
Protocol Dependent Trailer Variable Variable

The following paragraphs describe the fields of the Solicited Status message that are specific to the
Specific Command Reject status.

Status Descriptor
Field Size: 1 character
Valid Range: D
Description: The value D in the Status Descriptor field indicates that this Solicited Status message
is reporting a Specific Command Reject status.
Host Message Identifier
Field Size: 1 character
Valid Range: 1, 3, 4, 5, 6, and 7
Description: This is a one-byte ASCII field taken from the first byte of the message sent by the
network, thus indicating whether the message was one of the following types:
 1 - Operational Command message
 3 - Write Command message
 4 - Function Command message
 5 - Enhanced Operational Command message
 6 - Reserved
 7 - Enhanced Function Command message

Values other than these are accompanied by a reject reason code of 01 (unidentified message
command ID).

Host Message Subidentifier


Field Size: 2 characters
Valid Range: Refer to the description.
Description: This is a two-character ASCII field used to further identify the message which was
sent by the network. The values of these two characters are set as shown in the following table.
Host Message Identifiers and Subidentifiers
Identifier Subidentifier Host Message
1 1x Operational Command (x = operational command in the host message)
3 11 Write Command 2 (screens)
12 Write Command 1 (state tables)
13 Write Command 3 (LUNO, parameters, and timers)
15 Write Command 6 (FIT data)
16 Write Command 8 (configuration ID)
1B Write Command 20 (currency acceptor bill types)
21 Write Command 5 (Open Account Relationship dialog)
3x Write Command 7 (encryption key change, x = key command code in the
host message)
4 1x Function Command (x = function ID for which there was a problem)
5 11 Enhanced Operational Command, Get or Set Time and Date command
7 11 Enhanced Function Command

Reject Reason Code


Field Size: 2 characters
Valid Range: Refer to the description.
Description: This is a two-byte ASCII field used to indicate the reason that the message from the
network was rejected by the terminal. The definitions of the Reject Reason Codes are shown in
Table 6-18.
NOTE

There are reasons for rejecting a message that do not have a Reject Reason Code assigned.
If no specific code is specified, a 99 code is sent. This code can mean anything that is not
specifically coded.

Table 6-18 Reject Reason Codes


Code Reason
00 No error
01 Unidentified message command ID. The message was not type 1 (Operational Command
message), type 3 (Write Command message), type 4 (Function Command message), type 5
(enhanced Operational Command message), or type 6 (enhanced Write Command
message) or if there is no application present to process the command (type 5 or 6 only).
02 Data from this message cannot be stored due to insufficient user memory in the terminal.
03 Conversion failure of a three-character field entry into an acceptable binary count. The
converted value might be outside of the valid range.
04 Conversion failure of a two-character field entry into an acceptable binary count. The
converted value might be outside of the valid range.
05 Conversion failure of hexadecimal data of the format :xx into an acceptable binary count. The
converted value might be outside of the valid range.
06 FIT, Screen, or State Number is outside of the valid range.
07 Language bank number is outside valid range (0 through 255). This number is part of the
ESC L control sequence immediately after the screen number.
08 Message is too long for Receive Buffer.
09 Reserved
OPERATIONAL COMMAND CASE
10 The command code is out of range.
11 The terminal is busy (in use), and the Operational Command message cannot be processed.
12 Incorrect modifier field
13 Reserved
GENERAL WRITE COMMAND CASES
14 The write identifier is out of range.
15 The modifier field is out of range.
16 Reserved
WRITE COMMAND 7 CASES - ENCRYPTION KEY CHANGES
17 The modifier field is out of range, the new key data field contains an incorrect number of
entries, or a new key data field entry exceeds 255.
18 This is an inappropriate request for key change. A non-existent key is needed for this
request.
19 Invalid key usage
20 - Reserved
21
WRITE COMMAND 2 CASES - SCREENS
22 Reserved
23 The message contained illegal touch screen data.
24 Reserved
WRITE COMMAND 1 CASES - STATE TABLES
25 There are not eight three-character numeric entries in a state table data field.
26 - Reserved
29
WRITE COMMAND 3 CASES - LUNO, PARAMETERS, & TIMERS
30 There are too many characters in the overall parameter field.
31 An improper LUNO field was detected.
32 The entry in a Timer Number field exceeds 31.
33 The entry in a timer's Number of Seconds field exceeds 255.
34 - Reserved
39
WRITE COMMAND 8 CASES - CONFIGURATION ID
40 An invalid configuration ID number was found.
41 - Reserved
44
OPEN ACCOUNT RELATIONSHIP (OAR) CASES
45 There were less than six characters in the active key buffer field.
46 At least one (possibly two) field separators are missing following the active key buffer field.
47 An invalid display flag was found.
48 - Reserved
49
FUNCTION COMMAND CASES
50 A field separator character is missing after the bill denomination field(s).
51 At least one bill denomination field is out of range.
52 The transaction serial number is invalid.
53 An illegal function ID was found.
54 Message format is incorrect in an enhanced Function Command message, or Number of
Bills to Dispense field and 100 Bills Dispense - Number of Bills field are both non-zero in a
912 Function Command message.
55 A field separator character was not found after the function ID (and screen number and data
fields which optionally follow the function ID).
56 The one-character message coordination field did not match the one sent by the terminal in
the Consumer Request message.
57 An illegal printer flag was found.
58 Cancel key was pressed during function command execution.
59 The message contained multiple function IDs of the same type.
60 The amount authorized did not match the amount requested.
GENERAL CASES
61 The terminal is in a mode during which the message cannot be received. For example, a
Function Command message sent during a consumer session but not in a Transaction
Request state, or a Write Command message sent while in service without setting the option
in the Agilis Configuration Utility, and so on.
62 The terminal can currently accept only certain function commands (usually a print
immediate), but not the type just sent.
63 - Reserved
67
68 - Reserved for legacy systems using Write Commands 13, 14, and 15
72
WRITE COMMAND 20 - CURRENCY ACCEPTOR BILL TYPES
73 Currency ID field format error
74 Bill Value field format error
75 Message format error
76 The currency acceptor cannot recognize the bill type (currency type/value/release) specified
by the network.
77 Set configuration error
78-79 Reserved
GENERAL CASES
80 A Base64 conversion failure occurred.
81 The Tag field is invalid.
82 An incorrect length was specified.
83 The command is not supported with the current hardware.
84 - Reserved
98
99 The message has an error not covered by one of the preceding codes.

An Operational Command message is rejected because the command code is out of range. A reject
code of 10 is generated, and the following reject message is sent by the terminal:

22.nnn..D.11x10

Where nnn represents the LUNO, x represents the out-of-range command code, and the period
characters ( . ) represent field separators.

EXAMPLE 2

A Write Command 1 message is rejected because there are less than eight numeric entries in a
9000-style state table following the character that specifies the state type. A reject code of 25 is
generated, and the following reject message is sent by the terminal:

22.nnn..D.31225

Where nnn represents the LUNO, and the period characters ( . ) represent field separators.

EXAMPLE 3
A Function Command message is rejected because the function ID specified is illegal or non-
existent. A reject code of 53 is generated, and the following reject message is sent by the terminal:

22.nnn..D.41x53

Where nnn represents the LUNO, x represents the illegal or non-existent function ID, and the period
characters ( . ) represent field separators.

NOTE

If the terminal is configured to report General Command Reject statuses rather than Specific
Command Reject statuses, then each of the preceding reject cases results in the following
Solicited Status message being sent by the terminal:

22.nnn..A

6.3 Unsolicited Status Messages

This message is transmitted to the network when a change of status occurs at the terminal.
Maximum length is 8192 characters.

NOTE

Unsolicited status may be sent to the Host anytime after the connection to the Host is
established. Unsolicited device fault status is reported when it is detected and does not
imply anything other than the status itself. This status is not tied to any Host-Terminal
message sequence and can not be used to determine if the Host download is complete or
any other messaging has occurred. If a device fault is identified during the startup of the
terminal, it will be transmitted to the Host. At this time, the Host can choose to change their
state load to remove that device from their transaction selections, send down the load
regardless, or choose not to put the terminal into service because of the device fault.

Table 6-19 shows the data fields associated with the Unsolicited Status message.

Table 6-19 Unsolicited Status Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Solicited/Unsolicited ID 1 1
Message Identifier 2 1
Field Separator (FS) hex 1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) hex 1C 1
Field Separator (FS) hex 1C 1
Status Source --- 1
91x Status --- Variable
[1]
Field Separator (FS) hex 1C 1
[1]
MDS Status --- Variable
[2]
Field Separator (FS) hex 1C 1
[2]
Maintenance Mode Log --- Variable
[3]
Field Separator (FS) hex 1C 1
[3]
Buffers to Follow ID 9 1
[3]
Buffer ID --- 3
[3]
Buffer Data --- Variable
[3]
[ Group Separator (GS) ] [ hex 1D ] [1]
[3]
[ Buffer ID ] [---] [3]
[3]
[ Buffer Data ] [---] [ Variable ]

Protocol Dependent Trailer Variable Variable


[1]
This set of fields is only sent if the MDS Status to Network feature is selected (Section 5.15).
[2]
This set of fields is only sent if the MDS Status to Network feature and the Maintenance Mode
Log to Network feature are both enabled.
[3]
This set of fields is optional. If this set is present, there will be at least one Buffer ID field and one
Buffer Data field. Each additional set of Buffer ID fields and Buffer Data fields must be preceded by
a group separator (GS).
[4]
This parameter is only valid for Diebold 55xx terminals.

The following paragraphs describe the fields in the Unsolicited Status message.

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Solicited/Unsolicited ID
Field Size: 1 character
Valid Range: 1
Description: This field tells the network whether the message is solicited or unsolicited. For
Unsolicited Status messages, the only valid value is 1 (unsolicited).

Message Identifier
Field Size: 1 character
Valid Range: 2
Description: This one-character data field defines the type of message being transmitted. The only
valid value for the Unsolicited Status message is 2.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The LUNO allows the network to determine which terminal sent the
message once the communication protocol is removed from the message. The LUNO is defined by
the network, using the Write Command 3 message (Section 5.15).

If a machine number has been entered at the terminal and MAC is enabled, the six digits of the
machine number are added to the end of the LUNO. Refer to the Data Security Procedures and
Reference Manual (TP-799530-001E) for additional details.

This field is not sent for a Power Failure status.

Status Source
Field Size: 1 character
Valid Range: Refer to the description.
Description: This one-character field describes the source of the status change, as shown in Table
6-20.
Table 6-20 Status Sources for Device Fault Statuses
Status
Source Device(s) Refer to...
1 Power failure No status bytes sent
to network
2 Alarm Section 6.3.1
3 Supervisor and Supply switches Section 6.3.2
4 Printer (receipt printer or journal printer) Section 6.3.3
5 Card reader Section 6.3.4
7 Card writer Section 6.3.5
[1]
? Dispenser (bill dispenser) Section 6.3.7
[1]
@ Presenter Section 6.3.8
A Intelligent Depository Module (IDM) Section 6.3.9
J Enhanced status. This indicates that this message contains Section 6.3.10
status for one of the enhanced status devices.
[1]
This status is sent to the network only if the terminal is configured to send unsolicited Dispenser
statuses and unsolicited fascia statuses anytime (set in the Agilis Configuration Utility).

91x Status
Field Size: Variable
Valid Range: Refer to the description.
Description: This field elaborates on the cause of the status change in direct association with the
Status Source field. Data length is variable. For details of this field, refer to Section 6.3.1 through
Section 6.3.10.

MDS Status
Field Size: Variable
Valid Range: Refer to the description.
Description: If the MDS Status to Network feature is selected in the Miscellaneous Features 2 field
of the Write Command 3 message, this field contains the MDS status for this status message. The
data in this field, if enabled, is the same data that the terminal prints on the journal printer and is in
the same format. Refer to the Consolidated MDS Status Reference Manual (TP-821839-001A) for a
description of the data printed on the journal printer.

For expanded MDS status, the Estimated First Cause (EFC) code is also sent to the host.

The Estimated First Cause (EFC) codes provide the following information about a device fault:

 Name of the device or module where the fault has occurred


 Location of the fault
 Specific error in the device or module that caused the fault

The format of the EFC code is as follows:

AAA B CC DD

where,

 AAA. A three-digit alphanumeric value that uniquely identifies the module or device where
the fault has occurred,
 B. Reserved for future use and will contain the value 0.
 CC. A two-digit alphanumeric value that identifies the location or type of the fault in a
module or device.
Refer to Table 6-21 for a list of valid fault locations used in the EFC.
 DD. A two-digit alphanumeric value that indicates the specific error in the module or device
which caused the fault.
Refer to Table 6-22 for a list of valid errors used in the EFC.

Table 6-21 lists and describes the valid values for the fault location identified in the EFC.

Table 6-21 Valid Values for EFC Fault Location (CC)


Value Description
CO Communication error
ZZ Unknown Error
DR Door Error
PL Platen Error
HD Read/Write/Print Head Error SC Scanner/Acceptor Error
ST Stacker Error
RB Retract Bin/Cassette Error
RJ Reject Bin/Cassette Error
Cn Cassette/Bin n Error (C1, C2, C3, &mldr;, Cn)
SH Shutter Error
FW Firmware Error
TP Transport Error
CT Cutter Error
XS Exit Slot Error
PW Power Supply Error
PR Paper Roll Error
HW Undetermined Hardware Error
SW Software Error
TM TPM Error
SP SPEAR Error
BT Battery Error
FD Fraud Error
MT Motor Error
CA CCA Board Error
AF Anti Fraud Module Error
SE Security Error
LA LACB Error
UB USB Error

Table 6-22 lists and describes the valid values for the specific errors identified in the EFC.

Table 6-22 Valid Values for EFC Errors (DD)


Value Description
01 Open (modules such as platen, shutter, door are open when they should not be opened)
02 Closed (modules such as platen, shutter, door are closed when should not be closed)
03 Full
04 High
05 Low
06 Empty/Out
07 Jammed
08 Blocked (modules such as door, sensor are blocked when they should be unblocked)
09 Unblocked modules such as door, sensor are unblocked when they should be blocked)
10 Generic Error
11 Fraud
12 Potential Fraud
13 Software error where a configuration value is missing
14 Software error where an incompatible driver is installed
15 Software error where an incompatible firmware is installed
16 Software error where an incompatible API is installed
17 Module offline (NOT USB connected)
18 Module is unpaired

Maintenance Mode Log


Field Size: Variable
Valid Range: Refer to the description.
Description: As an option, Agilis 3 91x can send the network Unsolicited Status messages that
contain Maintenance mode log information. To activate this feature, the MDS Status to Network
feature and the Maintenance Mode Log to Network feature must both be enabled (Write Command
3 message).

When this feature is activated, the terminal generates an Unsolicited Status message for operator
logon and various menu selections. The message includes the Supervisor and Supply Switches
status in the 91x Status field and a Maintenance status (MNT:xx:xx:xx) in the MDS Status field, plus
the Maintenance Mode Log field.

The Maintenance Mode Log field contains one or more log entries. Each log entry is a decimal
number made up of a three-digit operator code (Table 6-23) followed by a three-digit menu code
(Table 6-24).

Table 6-23 Operator Codes


Operator Code Group and Operator
[1]
000 Maintenance logon
000 - 007 Group 0, Operators 0 through 7
010 - 017 Group 1, Operators 0 through 7
020 - 027 Group 2, Operators 0 through 7
030 - 037 Group 3, Operators 0 through 7
040 - 047 Group 4, Operators 0 through 7
050 - 057 Group 5, Operators 0 through 7
060 - 067 Group 6 (Rear Balance group), Operators 0 through 7
070 - 077 Group 7 (Continuous Availability group), Operators 0 through 7
[1]
The terminal sends an operator code of 000 when Maintenance logon is initiated. At this point,
the operator has not yet entered a password. Therefore, no operator can be identified.

Table 6-24 Menu Selection Codes


Menu Code Menu Item Selected
000 Logon
001 Manager
002 Manage Encryption Keys
003 Device Adjustments
004 Replenish Devices
005 Reserved
006 Status List
007 Clear Status List
008 Reserved
009 Reserved
010 Attention Message
011 Exit (Log Off)
012 Reserved
013 Remote Balancing
014 Reserved
[1]
032 Logon (Continuous Availability )
[1]
036 Replenish Devices (Continuous Availability )
[1]
038 Status List (Continuous Availability )
[1]
039 Clear Status List (Continuous Availability )
040 Reserved
[1]
043 Logoff (Continuous Availability )
045 Reserved
046 Reserved
[2]
100 Key Verification Numbers
[2]
101 Reserved
[2]
102 Retrieve Cards
[2]
103 Add Bills
[2]
104 Exchange Cassettes
[2]
105 Empty Divert Cassette
[2]
106 Add Coin
[2]
107 Exchange Hoppers
[2]
108 Dump Coins
[2]
109 Clean Card Reader
[2]
110 Set A Key
[2]
111 Set B Key
[2]
112 Set V Key
[2]
113 Reserved
[2]
114 Set Machine Number
[2] [1]
132 Key Verification Numbers (Continuous Availability )
[2] [1]
133 Machine Authentication Code (Continuous Availability )
[2]
134 Reserved
[2] [1]
135 Add Bills (Continuous Availability )
[2] [1]
136 Exchange Cassettes (Continuous Availability )
[2] [1]
137 Empty Divert Cassette (Continuous Availability )
[2] [1]
138 Add Coin (Continuous Availability )
[2] [1]
139 Exchange Hoppers (Continuous Availability )
[2] [1]
140 Dump Coins (Continuous Availability )
[1]
The Continuous Availability feature is applicable only to Opteva terminals equipped with the
optional Agilis Advanced Maintenance application.
[2]
Requires enabling the Extended Mode Status option (ACU).

When the terminal is online, it sends each log entry to the network as soon as the operator performs
the action that generates the entry. In this case, each Unsolicited Status message contains one log
entry only. Refer to Example 1.

If the terminal is offline during operator activity, the terminal stores up to six log entries for
transmission to the network. When communication is restored, the terminal sends a message that
contains the current Supervisor and Supply Switches status, followed by the most recent log entry,
the next most recent entry, and so on. The group separator character (hexadecimal 1D) separates
the log entries. Refer to Example 2.

When the terminal is configured to send Maintenance mode log information to the network, the
terminal reports Supervisor and Supply Switches status for Maintenance logon, and for the
selection of the Supply and Send Attention Message menu items, regardless of the setting of the
Send Status at Logon option.

EXAMPLE 1

In this example, the Send Status at Logon option is is set to Send Supply Status. The terminal is
online when the operator performs the procedure in Table 6-25. For each step, the terminal reports
a Supervisor and Supply Switches status with the status byte and the Maintenance mode log entry
indicated.

Table 6-25 Example Maintenance Mode Log


Status Log
Action Byte Entry
The operator logs on. 20 000 000
The operator selects Status List from the Maintenance menu. 20 001 006
The operator views the list of statuses, then returns to the Maintenance no message
menu.
The operator logs off (selects the Exit menu item). 00 001 011

Notice that the operator code for logon is 000. The terminal sends the message when the operator
initiates Maintenance logon (before the operator enters a password). At that time, the terminal has
not yet identified the operator.

EXAMPLE 2

Assume that the terminal is offline when the operator performs the procedure in Table 6-25. When
communication is restored, the terminal sends an Unsolicited Status message that includes a
Supervisor and Supply Switches status byte of 00 and, in the Maintenance Mode Log field, three
log entries separated by group separators (GS) as follows:

001 011 GS 001 006 GS 000 000

Buffers to Follow ID
Field Size: 1 character
Valid Range: 9
Description: The Buffers to Follow ID entry is a field ID indicating that the following message fields
(Buffer ID and Buffer Data) contain buffer data from an Agilis 3 91x buffer. If the terminal sends
buffer data from more than one buffer, the message contains a pair of Buffer ID and Buffer Data
fields for each buffer.

The Buffers to Follow ID entry is a field ID indicating that the following message fields (Buffer ID and
Buffer Data) contain buffer data from an Agilis 3 91x buffer. If the terminal sends buffer data from
more than one buffer, the message contains a Buffer ID field and a Buffer Data field for each buffer.

NOTE

If the message contains multiple sets of Buffer ID and Buffer Data fields, there is a group
separator (1D hex) between each set.

Buffer ID
Field Size: 3 characters
Valid Range: 065 through 090 (buffers A through Z), and 256 through 355 (enhanced buffers)
Description: The Buffer ID entry is a Group ID that identifies a buffer.

Buffer Data
Field Size: Variable
Valid Range: For each character, 0 through 9, A through Z, a through z, + / and =
Description: The Buffer Data entry contains the data stored in the buffer identified in the Buffer ID
entry preceding this entry.

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

6.3.1 Alarm Status (unsolicited) (SSF = 2)

There is one byte for Alarm unsolicited status. Refer to Table 6-26 for detailed bit definition of this
byte.

Table 6-26 Alarm Unsolicited Status (SSF = 2)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
1 7 - Reserved Always 0
6
5 - Reserved Always 1
4
3 - Reserved Always 0
1
0 Upper Chassis The upper chassis has been intruded. Appropriate measures should
Intrusion (UCI) be taken.
0 7 - Reserved Always 0
6
5 Reserved Always 1
4 Device State Indicates device connection.
3 Cabinet door The cabinet door (upper chest) is open. This is a normal indication
during supply replenishment.
2 Anti-ambush The operator triggered an alarm while opening the safe. Appropriate
activated measures should be taken.
1 Chest door open The safe door is open. This is a normal indication during supply
replenishment.
0 Burglary Someone is burglarizing the terminal. Possible causes for this
indication are the safe lining has been penetrated, the thermal sensor
has been activated, or the other sensing devices indicate a security
breach.

6.3.2 Supervisor and Supply Switches Status (unsolicited) (SSF = 3)

Supervisor and Supply Switches status reports the state of two logical "switches" (the Supervisor
switch and the Supply switch) maintained internally by the application. The switches can be set (ON
or OFF) by events occurring during a Maintenance session. The Supervisor switch is used to
indicate that the terminal has been serviced. The Supply switch is used to indicate that the terminal
operator is performing supply operations.

There is one byte for Supervisor and Supply Switches status. Refer to Table 6-27 for detailed bit
definition of this byte.

Table 6-27 Supervisor and Supply Switches Status Byte (SSF = 3)


Abbreviated
Bit
Byte Bit Definition Detailed Bit Definition
0 7 ----- Not applicable (always 0)
6 Supervisor This bit is 1 if the Supervisor switch is ON, indicating that the terminal
switch has been serviced. If the Supervisor switch is OFF, this bit is 0.
5 Supply switch This bit is 1 if the Supply switch is ON, indicating that the terminal
operator is performing supply operations. If the Supply switch is OFF,
this bit is 0.
4- ---- Not applicable (always 0)
0

Both switches are in the OFF state before starting a Maintenance session. During a Maintenance
session, the switches can be set to ON by certain actions performed by the terminal operator. Both
switches are automatically set to OFF when the terminal operator logs off the Maintenance
application.
The terminal sends the network a Supervisor and Supply Switches status message only when there
is a change in the state of either one of the switches. Refer to the following paragraphs for a
detailed description of the operation of the switches and the status messages sent to the network.

If the network is using the Maintenance Mode Log to Network feature, the terminal sends the
network a Supervisor and Supply Switches status message each time the terminal operator makes
one of the menu selections listed in Table 6-24. For a detailed description of this feature with
examples, refer to the description of the Maintenance Mode Log field in the Unsolicited Status
message.

If the Maintenance Mode Log to Network feature is not enabled, the terminal sends the network a
Supervisor and Supply Switches status message only when there is a change in the state of either
one of the switches. Refer to the following paragraphs for a detailed description of the operation of
the switches and the status messages sent to the network when the Maintenance Mode Log to
Network feature is not enabled.

Supply Menu Item


Selecting the Supply menu item sets the Supply switch to ON. If this state is a change from the
previous state of the switch, the terminal sends the network a Supervisor and Supply Switches
status message with a status byte of 20 (if the Supervisor switch is OFF) or 60 (if the Supervisor
switch is ON). Otherwise, no message is sent.

Send Attention Message Menu Item


Selecting the Send Attention Message menu item sets the Supervisor switch to ON. If this state is a
change from the previous state of the switch, the terminal sends the network a Supervisor and
Supply Switches status message with a status byte of 40 (if the Supply switch is OFF) or 60 (if the
Supply switch is ON). Otherwise, no message is sent.

Maintenance Logon
Maintenance logon can change the state of the switches, depending on the setting of the Send
Status At Logon option (set in the Agilis Configuration Utility). The valid settings for this option are
as follows:
 Send no status
 Send supply status
 Send supervisory status

If the send no status setting is used, Maintenance logon leaves both switches in the OFF state.
Since there is no change in the state of the switches, no Supervisor and Supply Switches status
message is sent to the network.

If the send supply status setting is used, Maintenance logon sets the Supply switch to ON. As a
result, the terminal sends the network a status message with a status byte of 20.

If the send supervisory status setting is used, Maintenance logon sets the Supervisor switch to
ON. As a result, the terminal sends the network a status message with a status byte of 40.

Maintenance Logoff
Maintenance logoff sets both switches to OFF. If the previous state of both switches was OFF, there
is no change in the state of the switches, so no Supervisor and Supply Switches status message is
sent to the network.
If the previous state of either one of the switches was ON, the terminal sends the network a
Supervisor and Supply Switches status message with a status byte of 00.

If the previous state of both switches was ON, the switches are set to OFF individually, with the
terminal sending a Supervisor and Supply Switches status message for each change. The order in
which the switches are turned off, and the resulting messages, are determined by the setting of the
At Logoff option (set in the Agilis Configuration Utility). The valid settings for this option are as
follows:

 Send supply status


 Send supervisory status

If the send supply status setting is selected, the Supervisor switch is set to OFF first, resulting in a
Supervisor and Supply Switches status message with a status byte of 20, followed by a status
message with a status byte of 00.

If the send supervisory status setting is selected, the Supply switch is set to OFF first, resulting in
a Supervisor and Supply Switches status message with a status byte of 40, followed by a status
message with a status byte of 00.

EXAMPLE 1

Send Status At Logon option = Send no status

The setting of the At Logoff option has no effect on this example.

The terminal operator performs the actions shown in the following table. When a Supervisor and
Supply Switches status message is sent to the network, the table shows which status byte is sent in
the message.

Supervisor Supply Switch Status


Action Switch Switch Change Byte
1. The operator logs on. OFF OFF No (no
message)
2. The operator makes any selections other OFF OFF No (no
than Supply, Send Attention Message, and message)
Exit.
3. The operator selects Send Attention ON OFF Yes 40
Message.
4. The operator selects Exit (Maintenance OFF OFF Yes 00
logoff).

EXAMPLE 2

Send Status At Logon option = Send supply status

At Logoff option = Send supervisory status

Supervisor Supply Switch


Action Switch Switch Change Status Byte
1. The operator logs on. OFF ON Yes 20
2. The operator selects Supply. OFF ON No (no message)
3. The operator selects Send ON ON Yes 60
Attention Message.
4. The operator selects Exit ON OFF Yes 40 (first
(Maintenance logoff). message)
OFF OFF Yes 00 (second
message)

EXAMPLE 3

Send Status At Logon option = Send supervisory status

At Logoff option = Send supply status

Supervisor Supply Switch


Action Switch Switch Change Status Byte
1. The operator logs on. ON OFF Yes 40
2. The operator selects Supply. ON ON Yes 60
3. The operator selects Send ON ON No (no message)
Attention Message.
4. The operator selects Exit OFF ON Yes 20 (first
(Maintenance logoff). message)
OFF OFF Yes 00 (second
message)

Attention Message in Continuous Availability

NOTE

The Continuous Availability feature is applicable only to Opteva terminals equipped with the
optional Agilis Advanced Maintenance application.

Table 6-28 shows the sequence of Unsolicited Status messages that are sent to the network when
the Send Attention Message menu item is selected while in Continuous Availability. The items in
parentheses describe the messages that are sent when Send Attention Message is selected. These
items represent what is to be sent for Maintenance logon, followed by the selection of Send
Attention Message, followed by Maintenance logoff.

The 300s before and after the messages in parentheses are sent if the Maintenance Mode Log to
Network option is selected. These 300s represent the Unsolicited Status messages sent to the
network upon entrance to Continuous Availability and exit from Continuous Availability.

The following elements control the statuses sent to the network:

 Send Status At Logon option (ACU)


 At Logoff option (ACU)
 Maintenance Mode Log to Network (Write Command 3 message, Miscellaneous Features 2
field )

Table 6-28 shows how these elements determine which statuses are sent to the network.

Table 6-28 Statuses Sent for Attention Message in Continuous Availability


At Logon, At Logoff, Maintenance Mode Log to Statuses Sent for Attention
[1]
Send: Send: Network Message
No status Supply (340 300)
No status Supply X 300 (320 360 320 300) 300
No status Supervisory (340 300)
No status Supervisory X 300 (320 360 340 300) 300
Supply Supply (320 360 320 300)
Supply Supply X 300 (320 360 320 300) 300
Supply Supervisory (320 360 340 300)
Supply Supervisory X 300 (320 360 340 300) 300
Supervisory Supply (340 300)
Supervisory Supply X 300 (340 300) 300
Supervisory Supervisory (340 300)
Supervisory Supervisory X 300 (340 300) 300
[1]
X = Option selected. Blank = Option not selected

An example of the messages sequence for the last case in Table 6-28 is shown in the following
table:

Operation Unsolicited Status Sent to Network


Enter Continuous Availability: 12.000..300.000032
Send Attention Message: 12.000..340.000010 (First message)
12.000..300.000010 (Second message)
Exit Continuous Availability: 12.000..300.000043

6.3.3 Printer Status (unsolicited) (SSF = 4)

There are three bytes in Printer unsolicited status. Refer to Table 6-29 for detailed bit definition of
each of these three bytes.

Table 6-29 Printer Unsolicited Status (SSF = 4)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 7 Print operation If this bit is set, the print operation has been completed.
complete
6- ----- Not applicable
2
1 Receipt printer has A fault has occurred on the receipt printer which requires attention.
faulted Detailed fault information is available in Printer unsolicited status
byte 1.
0 Journal printer has A fault has occurred on the journal printer which requires attention.
faulted Detailed fault information is available in Printer unsolicited status
byte 2.
1 7 Receipt printer has This fault is normally caused by a depleted receipt printer paper
run low on paper roll. It is corrected by reloading the printer. If this fault is indicated
and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
6 ----- Not applicable
5 Receipt printer has This fault is normally caused by the printer paper roll being
run out of paper depleted. This fault is corrected by reloading the printer. If this fault
is indicated and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
4 ---- Not applicable
3 Fault occurred during Bursting of the receipt is controlled by a dark mark on the right side
a top-of-form search of each form. This mark is optically detected by a top-of-form
on the receipt printer sensor. When this mark is detected, the receipt is burst and
presented to the consumer. If this mark is not found after
approximately six seconds of paper movement (because of a paper
loading problem, a paper jam, or possibly an electrical or
mechanical problem), the following takes place: the paper
movement halts, no burst is attempted, and this fault is indicated.
2 Fault occurred during After printing a line on the consumer receipt, the printer performs a
a head return and carriage return of the print head to prepare for the next line of data.
line feed on the At the same time, a paper line feed is done. Of these, only print
receipt printer head movement can be detected by the paper margin sensor. The
fault indications are caused by a failure of the print head to return
to the start position. No monitoring of actual paper movement is
done. A fault is not indicated if a paper line feed is not done
because of a paper drive problem. A print head carriage return
problem might be caused by a paper jam or other obstruction, an
electrical or mechanical failure of the print head drive, or a failure of
the paper margin sensor. A fault indication might also be caused by
an electronic failure that is caused by a failure of the printer
electronics to send a ready signal to the terminal's microcomputer
to indicate task completion.
1 Fault occurred during Refer to bit 2.
a head return on the
receipt printer
0 Fault occurred during This fault is indicated following an attempt to print a line of
a line print on the characters on the receipt. Fault causes are as follows:
receipt printer
 The print head fails to move because of a paper jam or
other obstruction, a mechanical failure of the print head
drive assembly, or an electrical failure of the head motor
drive electronics.
 An electrical failure of the paper margin sensor. This
sensor indicates where on the form to begin printing.
 A failure of the printer electronics to send back a ready
signal when commanded to print a line.

2 7 Journal printer has This fault is normally caused by a depleted journal printer paper
run out of paper roll. It is corrected by reloading the printer. If this fault is indicated
and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
6 Electrical fault This is an electrical fault caused by a malfunction of the journal
detected on ready printer electronics. The printer electronics has a signal line called
line of journal printer ready used to signal the terminal's microcomputer that a printer
task has been completed. A printer task complete is indicated by a
logic low level (ground) on this signal line. This line is then reset by
an acknowledgment signal from the microcomputer. If the ready
line fails to reset (remains grounded), this fault is indicated.
5 Journal printer has This fault is normally caused by a depleted journal printer paper
run low on paper roll. It is corrected by reloading the printer. If this fault is indicated
and the paper roll is not out, an electrical or mechanical
malfunction might have occurred requiring service assistance.
4- ----- Not applicable
3
2 Fault occurred during After printing a line on the journal printer paper roll, the printer does
a head return and a carriage return of the print head to prepare for the next line of
line feed on the data. At the same time, a paper line feed is done. Of these, only
journal printer the print head movement can be detected by the paper margin
sensor. Fault indications are caused by a failure of the print head to
return to the start position. The printer does not monitor actual
paper movement. A fault is not indicated if a paper line feed is not
done because of a paper drive problem.

A print head carriage return problem might be caused by a paper


jam or other obstruction, an electrical or mechanical failure of the
print head drive, or a failure of the paper margin sensor. A fault
indication might also be caused by an electronic failure, caused by
a failure of the printer electronics to send a ready signal to the
terminal's microcomputer that indicates task completion.
1 Fault occurred during Refer to bit 2.
a head return on the
journal printer
0 Fault occurred during This fault follows an attempt to print a line of characters on the
a line print on the journal printer audit roll if one of the following occurs:
journal printer
 The print head fails to move due to a paper jam or other
obstruction, a mechanical failure of the print head drive
assembly, or an electrical failure of the head motor drive
electronics.
 An electrical failure of the paper margin sensor. This
sensor indicates where on the form to begin printing.
 A failure of the printer electronics to send back a ready
signal when commanded to do a line print.

6.3.4 Card Reader Status (unsolicited) (SSF = 5)


There is one byte for the Card Reader unsolicited status. Refer to Table 6-30 for detailed bit
definition of this byte.

Table 6-30 Card Reader Unsolicited Status (SSF = 5)


Abbreviated
Byte Bit Bit Definition Detailed Bit Definition
0 7 Read operation This bit is used internally by the terminal for sequencing and is always
complete turned on in this status byte.
6 Track 1 read Bits 6 to 4 can appear on or off in any combination that reflects the status
error of the last read operation. If any of these bits are on and bits 1 and 0 are
off, the terminal is reporting that the card read error limit has been
reached. The card read error limit is set in the Agilis Configuration Utility.
Shutdown of the terminal is not required, but a timely inspection of the
card reader is suggested.
5 Track 2 read
error
4 Track 3 read
error
3 Card in Retain This bit is used internally by the terminal for sequencing. This bit being
position set does not indicate a status change that requires sending a status
message (for example, status messages that include this bit on might
have other status).
2 Soft failure If this bit is set, the terminal sensed an abnormal condition in the card
reader (for example, the front and rear switches were closed
simultaneously). If this bit is set, the terminal completes the current card
read and allows future card reads. Soft failure refers only to card motion
and not card read errors.
1 Hard Fault If this bit is set, a fault has occurred on the card reader that requires
attention before another card read can be correctly processed. This fault
is normally caused by a card being jammed on the read head that the
card reader cannot return or retain. Hard fault refers only to card motion
and not card read errors.
0 Card in rear If this bit is set, the terminal retained a card that it could not return
because of a mechanical failure. This bit being set does not cause the
terminal to send a status message.

6.3.5 Card Writer Status (unsolicited) (SSF = 7)

There is one byte for the Card Writer unsolicited status. Refer to Table 6-31 for detailed bit definition
of this byte.

Table 6-31 Card Writer Unsolicited Status (SSF = 7)


Abbreviated
Byte Bit Bit Definition Detailed Bit Definition
0 7- ----- Not applicable
2
1 Card write error The terminal has exceeded the card write error limit. The card write error
limit exceeded limit is set in the Agilis Configuration Utility.
0 No start or end The track 1, 2, or 3 data buffer does not contain a start and an end
sentinel sentinel. No writing was attempted. The terminal went to the No Write
Attempted Next State from the Card Write state table. The terminal does
not set this bit or send this status message if the track was not properly
read and the network did not update the track data with a Function
Command message.

6.3.6 Delivery Area Sensors Status (unsolicited) (SSF = <)

Agilis 3 91x can send an Unsolicited Status message to the network to report a Delivery Area
Sensors status (< status source). This message contains one status byte. The following statuses
are valid:

 40 - Forgotten money removed


 80 - Sensors blocked

6.3.7 Dispenser Status (unsolicited) (SSF = ?)

The format of the status message is as follows:

Status Source ?
Status DI01
Status Source ?
Status DI02

NOTE

For the network to determine a more specific Dispenser status, the MDS Status to Network
feature must be selected.

When the MDS Status to Network feature is selected, the MDS status is included in this message,
along with the cassette IDs. The MDS Status to Network feature can be set only through the Write
Command 3 message.

6.3.8 Presenter Status (unsolicited) (SSF = @)

The following table describes the unsolicited Presenter status.

Description Data
Presenter Status 00 - Fault on present - consumer did not have access to cash.
Record Separator Optional, only present if Dispenser Device ID follows
(RS)
Dispenser Device Optional, only present if Send Dispenser Device IDis enabled in the ACU. The
ID Dispenser Device ID for this status. Valid values 1 or 2.

If the Send Dispenser Device ID parameter is not enabled, then the device ID
will not be sent in the status message.

NOTE
For the network to determine a more specific Presenter status, the MDS Status to Network
feature must be selected.

When the MDS Status to Network feature is selected, the MDS status is included in this message.
The MDS Status to Network feature can be set only through the Write Command 3 message.

6.3.9 Depository Status for IDM (unsolicited) (SSF = A)

Table 6-32 lists and defines the IDM unsolicited status information.

NOTE

At present, Agilis 3 91x always sets byte 3 to the value 00.

Table 6-32 IDM Unsolicited Status (SSF = A)


Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 7 Abnormal document Abnormal document retain
(depository retain
status)
6 Hard fault If this bit is set, a depository fault has occurred that
requires attention before another document can be
correctly processed. This fault is normally caused by a
stuck check or other document in the deposit entry slot, or
by a missing deposit cassette. If this bit is set, the terminal
will not complete the current deposit, and future deposits
should not be attempted.
5 Printer error The printer that stamps the deposited check or document
with a specific serial number has not incremented the
serial number. Refer to byte 1 of the status for more
detailed information on the printer module fault status. This
fault requires service assistance.
4 Consumer timeout A check or document has not been deposited within the
allotted time period.
3 Initial condition fault A deposit cassette is not present, the rotating assembly is
unlatched, the printhead missing, or check bins are
missing. No deposit is attempted.
2 Deposit incomplete, If this bit is set, the terminal started receiving the check or
or depository not document, but the terminal never sensed the check or
present document entering the deposit cassette. This is probably
caused by a depository fault, by the consumer inserting
then removing the check or document, by the absence of a
depository, or by the depository being disabled (in the
Agilis Configuration Utility).
1 Deposit cassette full, The deposit cassette is full. It must be emptied before the
or invalid check bin next deposit can start. No deposit is attempted.
specified in retain or
capture operation. Do
not continue.
0 Soft fault If this bit is set, a fault has occurred on the depository. This
fault is normally caused by a switch failure. If this bit is set,
the terminal completes the current deposit and allows
future deposits.
1 7 MICR read fault If this bit is set, a MICR read fault was encountered. The
(printer number of allowable read faults is set in the Agilis
module fault Configuration Utility. If any MICR data was found, it is
status) available for inclusion in a Consumer Request message,
depending on the Send Track 1, Track 3, and/or MICR
data entry in the Transaction Request state.
6- ---- Not applicable
5
4 Consumer cancel If this bit is set, the consumer cancelled a deposit
operation. This bit is set in addition to the consumer
timeout bit (byte 0, bit 4). The Deposit Cancel Status Bit
feature must be set in the Miscellaneous Features 1 field
of the Write Command 3 message for this bit to be set.
3 Thousands module The deposit thousands-digit print module has not
error increased to the desired number. This fault requires
service assistance.
2 Hundreds module The deposit hundreds-digit print module has not increased
error to the desired number. This fault requires service
assistance.
1 Tens module error The deposit tens-digit print module has not increased to
the desired number. This fault requires service assistance.
0 Units module error The deposit units-digit print module has not increased to
the desired number. This fault requires service assistance.
2 7 Depository disabled The IDM has been disabled either due to a fault or by the
network.
6- ---- Reserved. Set to 0.
5
4 Document handling The IDM has encountered one of the following problems
error while trying to transport a check:
 Mechanism cannot lift the gate during a straighten
sequence
 Cannot position the shuttle during a straighten
sequence
 Document cannot reach the magnetic sensor
 Cannot straighten the document
 Document cannot position in bottom hold area
 Document cannot position in top hold area

3 Bin error The selected bin was unusable or was full. This status
might also indicate a possible jam.
2 Document size error Inserted document is too short, too long, or too thick.
1 Scanner error The scanner did not operate, indicating a scanner fault.
0 MICR hardware error MICR processor fault.
3 7 - Operation data Four bits of operation data defined as follows:
4
 0000 - Reserved
 0001 - Reserved
 0010 - Check deposit
 0011 - Check retain
 0100 - Return check with printing
 0101 - 1111 - Reserved

3 - Bin data Four bits of bin data defined as follows:


0
 0000 - bin 0
 0001 - bin 1
 0010 - bin 2

And so on.

6.3.10 Enhanced Status (unsolicited) (SSF = J)

Agilis 3 91x reports unsolicited status for the following enhanced status devices:

 Currency acceptor
 Keypad
 Consumer display (LCD, Opteva terminals only)
 Encryption/decryption device
 Envelope dispenser
 Envelope depositor
 Passbook printer

NOTE

The Envelope depositor traditionally has not supported unsolicited status. However, due to
device status requirements of the 91x stateless solution, unsolicited status is necessary and
has been added as an Enhanced Status. For those 91x hosts that do not want to receive
unsolicited envelope depositor status, the filtering capabilities described in Section 6.3.11
should be used.

The format of this status is as follows:

 Operation Sequence Number. This field is always 000.


 Device ID. This is the four-character device identifier of the device that sent the status. For
unsolicited statuses, the following device IDs are valid:
o CI01 - Currency acceptor
o EP01 - Keypad or encryption/decryption device
o LC01 - Consumer display
o SD01 - Envelope dispenser
o SP01 - Statement Printer
o DP01 - Envelope depositor
o PB01 - Passbook printer
 Fault Status. This status is the MDS-type fault status data. MDS-type status data is a
series of three-character fields, each field consisting of a colon character ( : ), followed by
two hexadecimal digits.

For example, a keypad invalid key usage fault might appear as follows:

Status Source J
Operation Sequence Number 000
Device ID EP01
Fault Status :3F:00:1A

For details on the actual status definitions, refer to the Consolidated MDS Status Reference Manual
(TP-821839-001A).

6.3.11 Filtering and Translating Network Status

This section describes how to filter and translate Agilis 3 91x Statuses sent to the network to suit
the needs of an individual network. This feature is often referred to as Custom Status processing or
"CustStat".

NOTE

Currently, this feature is applicable for replacing or suppressing Unsolicited status data
only.

Use the Agilis Configuration Utility (ACU) to customize the statuses sent to the network. Navigate to
Agilis 91x --> Advanced Configuration --> Custom Statuses and Suppression and open that
configuration panel. A window similar to Figure 6-2 is displayed.

Figure 6-2 Custom Statues and Suppression Window


You can add, edit, or remove entries in this panel for statuses that you wish to customize.

The "Status Value" field represents an MDS status. Agilis 3 91x uses MDS statuses internally to
modify processing and to determine what 911 or 912 status is sent to the network. This field must
be in the format of an MDS status that is sent to a network (eg, EP01:3F:00:12). However, it needs
to include only up to the character to be validated for a match, but must contain at least the device
identifier (first 4 characters). An ‘X' can be used as a wildcard character.

Examples of valid values:

 KL01
 KL01:3F:XX:02
 KL01:3F:XX
 KL01:XX:XX:89
 KL01:3F

The "Unsolicited Custom Status" defines the custom status to be sent to the network in
Unsolicited Status messages. When a match is found for the MDS status specified in the Status
value field, data in this field replaces the Status Source field and Status field in the 91x Unsolicited
Status message.
Agilis 3 91x recognizes several special keyword text strings which can be entered in the
"Unsolicited Custom Status" field to assist you in producing the desired output for the network.

 The text NOTRANS (case-sensitive) is used with devices that report TABS-type statuses to
the network. This text directs Agilis 3 91x to send the standard TABS-type status to the
network, without modification, for the corresponding device fault.
 The text DEFAULT (case-sensitive) is used with devices that report enhanced statuses (J-
type statuses) to the network. This text directs Agilis 3 91x to send the enhanced status to
the network, without modification, for the corresponding device fault.
 The text SUPPRESS (case-sensitive) causes Agilis 3 91x to suppress the status for the
corresponding device fault. For Unsolicited Statuses, no status message is sent to the
network when the corresponding MDS status occurs.

NOTE

If "Unsolicited Custom Status" field contains no data, it will be treated like NOTRANS or
DEFAULT.

For example, to translate the printer status PR01:2D:50:00 (paper supply low) to the text message
"Paper Supply Low" in the status message, you need to configure the following entry in ACU:

Status Value Unsolicited Status


PR01:2D:50:00 Paper Supply Low

6.4 Function Command Message (ID 4)

The Function Command message is sent to the terminal in response to a Consumer Request
message. The following two conditions must occur for the transmission of the Function Command
message to the terminal:

 The consumer has entered all the required data for a specific Consumer Request message.
 The request has been sent to the network.

Function commands received when a preceding Consumer Request message was not sent will be
rejected by default. For example, if a function command is sent in a host download, Agilis 3 91x will
respond with a command reject. An ACU setting is available to respond with a ready 9 instead of a
command reject. In this case, Agilis 3 91x will respond with a ready 9 but the function command will
not be processed.

The Function Command message acts as an authorization to the terminal to complete the
transaction. Refer to Table 6-33 for a list of the sequence of fields, number of characters, and the
code of the Function Command. The paragraphs following the tables describe the fields in the
Function Command message.

Table 6-33 Function Command Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Function Command Identifier 4 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[1]
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Next State ID --- 3
Field Separator (FS) hex 1C 1
[ Number of Bills to Dispense ] [---] [ Variable (16 max) ]
[2]
Group Separator (GS) hex 1D 1
[2]
Number of Coins to Dispense --- Variable (16 max)
[3]
Group Separator (GS) hex 1D 1
[3]
100 Bills Dispense - Number of Bills --- Variable (24 max)

Group Separator (GS)


[ Dispenser Device ID ] 1 or 2 1

Field Separator (FS) hex 1C 1


Transaction Serial Number --- 4
Function Identifier --- 1
[ Screen Number ] [---] [3]
[ Screen Display Update Data ] [---] [ Variable ]
[4]
Group Separator (GS) hex 1D 1
[4]
Function Identifier --- 1
[4]
[ Screen Number ] [---] [3]
[4]
[ Screen Display Update Data ] [---] [ Variable ]

Field Separator (FS) hex 1C 1


Message Coordination Number --- 1
Card Return/Retain Flag --- 1
Printer Flag --- 1
Printer Data --- Variable
[5]
Field Separator (FS) hex 1C 1
[5]
Printer Flag --- 1
[5]
Printer Data --- Variable
[6]
Field Separator (FS) hex 1C 1
[6]
Track 3 Field ID 4 1
[6]
Track 3 Data --- Variable (106 max)
[7]
Field Separator (FS) hex 1C 1
[7]
Depository Settings Field ID 6 1
[7]
Deposit Printer Data --- Variable
[7]
Group Separator (GS) hex 1D 1
[7]
[ Deposit Bin ID ] [---] [3]
[7]
[ Group Separator (GS) ] [ hex 1D ] [1]
[7]
[ Reserved ] [---] [3]
[7]
[ Group Separator (GS) ] [ hex 1D ] [1]
[7]
[ Check Accepted Screen ] [---] [3]
[7]
[ Group Separator (GS) ] [ hex 1D ] [1]
[7]
[ Check Handling Delay Screen ] [---] [3]
[7]
[ Group Separator (GS) ] [ hex 1D ] [1]
[7]
[ Check Handling Delay Time ] [---] [3]
[7]
[ Group Separator (GS) ] [ hex 1D ] [1]
[7]
[ Reserved ] [ 000 ] [3]
[7]
[ Group Separator (GS) ] [ hex 1D ] [1]
[7]
[ Reserved ] [ 000 ] [3]
[8]
Field Separator (FS) hex 1C 1
[8]
Coin Field ID 8 1
[8]
Reserved 000 3
[8]
Dollar Amount of Coins --- 8
[9]
Field Separator (FS) hex 1C 1
[9]
Track 1 Field ID 9 1
[9]
Track 1 Data --- Variable (78 max)
[10]
Field Separator (FS) hex 1C 1
[10]
Track 2 Field ID : 1
[10]
Track 2 Data --- Variable (39 max)
[11]
Field Separator (FS) hex 1C 1
[11]
Enhanced Configuration Data Field ID --- 3
[11]
Enhanced Configuration Data --- Variable
[12]
Field Separator (FS) hex 1C 1
[12]
MAC Data --- 8

Protocol Dependent Trailer Variable Variable


[1]
If message authentication (MAC) is used, the network sends an eight-byte time variant number in
place of the message sequence number.
[2]
The number of coins data is optional. The data applies only to coin dispensing operations.
[3]
The 100 bills dispense data is optional. The data applies only to terminals using the 100 Bills
Dispense feature.
[4]
Additional sets of function identifier fields are optional. Each additional set must start with a group
separator. The message can contain up to seven sets of function identifier data fields.
[5]
Additional sets of printer fields are optional. Each additional set must start with a field separator.
For each additional set, all the fields of the set must be present.
[6]
Track 3 data is optional. If the field separator is included in the message, all the fields of the set
must be present.
[7]
The depository settings data is optional. If the field separator is included in the message, all the
fields through the first group separator must be present. The following rules apply to the data that
follows the first group separator:
•The data following the first group separator applies only to IDM operations.
•Group separators are only required as far as the data included.
•The data can include one or more null groups (a group separator followed by no data).
[8]
This set of fields is optional. The data applies only to coin dispensing operations (U.S. coins
only). If the field separator is included in the message, all the fields of the set must be present.
[9]
Track 1 data is optional. If the field separator is included in the message, all the fields of the set
must be present.
[10]
Track 2 data is optional. If the field separator is included in the message, all the fields of the set
must be present.
[11]
Enhanced configuration data is optional. If the field separator is included in the message, all the
fields of the set must be present. This set of fields can be repeated as often as needed, up to the
maximum message length.
[12]
MAC data is required only if message authentication (MAC) is used. If the field separator is
included in the message, all the fields of the set must be present.

The following paragraphs describe the fields in the Function Command message.

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Function Command Identifier


Field Size: 1 character
Valid Range: 4
Description: This one-character data field defines the type of message being transmitted. The only
valid value for the Function Command message is 4.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The terminal includes the LUNO (and the terminal's six-character machine
number, if defined AND MAC is enabled) in messages sent to the network. If desired, the network
can put the LUNO (and machine number, if applicable) in messages sent to the terminal. However,
the terminal ignores any data that it receives in this field.
The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).

Message Sequence Number


Field Size: Variable (up to 8 characters)
Valid Range: Refer to the description.
Description: The message sequence number is a network-generated number that identifies the
message for tracking. The network can send this number to the terminal in Function Command
messages, Write Command messages, and Operational Command messages. The terminal does
not use this number, but if the Message Sequence Number in Solicited Status Messages feature is
selected, Agilis 3 91x returns this number to the network in the Solicited Status message sent in
response to the network's message.

If message authentication (MAC) is used, the Function Command message contains a time variant
number in place of the message sequence number. For more details on the time variant number,
refer to the Data Security Procedures and Reference Manual (TP-799530-001E).

Next State ID
Field Size: 3 characters
Valid Range: 000 through 511
Description: This field defines the state number which the terminal should execute after the normal
completion of the specified Function Command.

Number of Bills to Dispense


Field Size: Variable (up to 16 characters)
Valid Range: Refer to the description.
Description: The Number of Bills to Dispense field contains the number of A through H bills to
dispense. Each A through H denomination has an associated two-character number. The A through
H bills are arranged in this field as follows:
Description Data Number of Characters
Number of A bills to dispense - - - 2
Number of B bills to dispense - - - 2
Number of C bills to dispense - - - 2
Number of D bills to dispense - - - 2
Number of E bills to dispense - - - 2
Number of F bills to dispense - - - 2
Number of G bills to dispense - - - 2
Number of H bills to dispense - - - 2

For example, to direct the terminal to dispense one A bill, two B bills, and one D bill, enter
01020001 into this field.

For a list of the standard denomination ID assignments for bills, refer to Section 3.1.2.

Number of Coins to Dispense


Field Size: Variable (up to 16 characters)
Valid Range: Refer to the description.
Description: The Number of Coins to Dispense field contains the number of A through H coins to
dispense. Each A through H denomination has an associated two-character number. The A through
H coins are arranged in this field as follows:
Description Data Number of Characters
Number of A coins to dispense - - - 2
Number of B coins to dispense - - - 2
Number of C coins to dispense - - - 2
Number of D coins to dispense - - - 2
Number of E coins to dispense - - - 2
Number of F coins to dispense - - - 2
Number of G coins to dispense - - - 2
Number of H coins to dispense - - - 2

For example, to direct the terminal to dispense one A coin, two B coins, and one D coin, enter
01020001 into this field.

For a list of the standard denomination ID assignments for coins, refer to Section 3.2.

NOTE

The following field (100 Bills Dispense - Number of Bills) applies only to terminals using the
100 Bills Dispense feature (Section 3.1). If this data is included in the message, the Number
of Bills to Dispense field and the Number of Coins to Dispense field must both be present
and must each contain 16 zeros.

100 Bills Dispense - Number of Bills


Field Size: Variable (up to 24 characters)
Valid Range: Refer to the description.
Description: The 100 Bills Dispense - Number of Bills field contains the number of A through H bills
to dispense. Each A through H denomination has an associated three-character number. The A
through H bills are arranged in this field as follows:
Description Data Number of Characters
Number of A bills to dispense - - - 3
Number of B bills to dispense - - - 3
Number of C bills to dispense - - - 3
Number of D bills to dispense - - - 3
Number of E bills to dispense - - - 3
Number of F bills to dispense - - - 3
Number of G bills to dispense - - - 3
Number of H bills to dispense - - - 3

For example, to direct the terminal to dispense one A bill, two B bills, and one D bill, enter
001002000001 into this field.

For a list of the standard denomination ID assignments for bills, refer to Section 3.1.2.
Dispenser Device ID
Field Size: 1 character
Valid Range: Refer to the description.
Description: The one character dispenser device ID identifies the dispenser from which currency
was dispensed for the transaction. The valid values are:
 1: Indicates that currency was dispensed from the primary cash dispenser.
 2: Indicates that currency was dispensed from the secondary cash dispenser.

Transaction Serial Number


Field Size: 4 characters
Valid Range: 0000 through 9999
Description: The transaction serial number is a network-assigned number that identifies the
transaction to the network. The terminal can print this number on an envelope, check, or other
document deposited at the terminal. Also, depending on terminal configuration, Agilis 3 91x can
print this number on the journal printer along with a fault status.

Function Identifier
Field Size: 1 character
Valid Range: Refer to Table 6-34
Description: The function identifier specifies which functions the terminal is to perform. The valid
functions are listed in Table 6-34. For each function identifier (function ID), the table indicates which
types of network the function ID is valid for.
Table 6-34 Function Identifiers for Function Commands
Function ID Function(s) Refer to...
4 Print immediate Section 6.4.1
5 Set next state and print Section 6.4.2
A Deposit envelope (envelope depository only) Section 6.4.4
B Dispense currency Section 6.4.5
C Deliver currency Section 6.4.6
D Print and wait for completion Section 6.4.7
E Return card immediately Section 6.4.8
F Write Track 3 Section 6.4.9
H Print and do not wait for completion Section 6.4.11
P Print data and stay in present state Section 6.4.12
Q Perform presenter dump operation Section 6.4.13
R Deposit check to escrow (IDM or IDMbd single-check mode only) Section 6.4.14
S Return check if in escrow (IDM or IDMbd single-check mode only) Section 6.4.15
T Retain check if in escrow (IDM or IDMbd single-check mode only) Section 6.4.16
U Present card Section 6.4.17
V Write Track 1 Section 6.4.18
W Write Track 2 Section 6.4.19
X Disable IDM (terminals with IDM or IDMbd single-check mode only) Section 6.4.20
Y Authorize unlocking the safe door lock (none)
Z Do nothing Section 6.4.21
; Execute enhanced functions Section 6.4.22
[1]
\ Accept passbook, print, and wait (Opteva terminals only) Section 6.4.23
[1]
] Accept passbook, print, and set next state (Opteva terminals only) Section 6.4.23
[1]
^ Return passbook (Opteva terminals only) Section 6.4.23
[1]
_ Escrow passbook (Opteva terminals only) Section 6.4.23
[1]
Requires the value < (less-than sign) in the Printer Flag field.

NOTE

The Z function identifier can be used as many times as needed in a Function Command
message. Apart from the Z function identifier, however, each function identifier can be used
once and only once in a given Function Command message. Do not duplicate any function
identifiers other than Z in a given Function Command message.

Each Function Command message can contain no more than one print function identifier (4,
5, D, H, or P). Multiple print function identifiers in a single message are not permitted.

Screen Number
Field Size: 3 characters
Valid Range: Valid screen numbers (Section 5.6)
Description: This is the number of the screen to show on the consumer display during execution of
the function command. For information about how and when this screen is displayed, refer to the
descriptions of the function commands (Section 6.4.1 through Section 6.4.21).

If the value in this field is 000, the terminal does not change the screen currently showing on the
consumer display.

Screen Display Update Data


Field Size: Variable
Valid Range: Refer to the description.
Description: This variable-length field contains a 91x style screen number immediately followed by
new screen data.

The new screen data can be displayed when its 91x style screen number is referenced during
transaction processing. If the Screen Number field is not used and you want to use the Screen
Display Update Data field, place 000 in the Screen Number field. This data is lost on powerfail.

The 91x style screen files created always use the .91x file extension (e.g. “100.91x"). The files are
saved to a subdirectory of C:\Program Files\Diebold\Agilis EmPower\Screens\ named for the
91x style Language Bank listed in the screen data using the ESC L screen command (e.g.
“.\000\100.91x, “.\001\100.91x", etc.). If the screen data does not explicitly specify a Language
Bank, the file is saved to the default subdirectory “000".

NOTE
The Function ID, Screen Number, and Screen Display Update Data fields can be repeated up
to seven times in a single Function Command message.

For example, to direct the terminal to dispense, deliver, and then print, the Function Command
message contains the following data.

If the terminal responds to any function ID with a device fault Solicited Status message, the network
must immediately send a second Function Command message. Then, if the network must disallow
the transaction, the second Function Command message normally contains a Do Nothing function
ID. The Do Nothing function ID sends the terminal to the next state number in the Function
Command message and shows a screen that tells the consumer why the transaction was not
completed.

Message Coordination Number


Field Size: 1 character
Valid Range: ASCII 31 through 7E
Description: This is a character assigned by the terminal to each Consumer Request message.
The terminal assigns a different message coordination number, to each successive Consumer
Request message, on a rotating basis. The standard valid range for the message coordination
numbers is 1 through 9, : ; < = > and ? (ASCII 31 through 3F). If the Extended Range for Message
Coordination Number field feature is selected in the Miscellaneous Feature 3 field of a Write
Command 3 message (Section 5.15), then the valid range is ASCII 31 through 7E. The network
must include the corresponding message coordination number when responding with a Function
Command. If the message coordination numbers do not match, the terminal sends a Solicited
Status message with a Command Reject status.

NOTE

If the Message Coordination Number field in the Function Command message contains 0
(zero), the terminal accepts the Function Command message without attempting to verify
that the number matches the message coordination number sent in the Consumer Request
message.

When the terminal is powered up after a reset or a power failure, the terminal resets the
coordination number to 2.

Card Return/Retain Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This one-character field directs the terminal to either return or retain the consumer's
account card during the Close state. The valid values are as follows:
 0 - Return card
 1 - Retain card

Printer Flag
Field Size: 1 character
Valid Range: 0 through 3 and ;
Description: This one-character field tells the terminal which printer or printers to use. The valid
graphic characters for this field are as follows:
 0 - Do not print
 1 - Print on journal printer only
 2 - Print on receipt printer only
 3 - Print on the receipt printer and the journal printer
 ; - Print on the statement printer only

Printer Data
Field Size: Variable (limited only by the total length limit for the message)
Valid Range: Refer to the description.
Description: This data is printed by the printer indicated in the Printer Flag field.

For information about printer data, refer to Section 3.10 or Section 3.11, as applicable, and to
Section 4.

NOTE

Multiple printer flag and printer data fields must be consecutive.

Track 3 Field ID
Field Size: 1 character
Valid Range: 4
Description: This one character Track 3 Buffer field ID tells the terminal that the following
characters (up to the field separator) are track 3 data.

Track 3 Data
Field Size: Variable (106 characters maximum)
Valid Range: Refer to the description.
Description: This field contains the data to be written onto track 3 as directed by a function
command. This data replaces any data previously in the terminal's track3 buffer. The track 3 data in
this field must include the start and end sentinels.

Depository Settings Field ID


Field Size: 1 character
Valid Range: 6
Description: This one-character field ID tells the terminal that depository-related data follows.

Deposit Printer Data


Field Size: Variable
Valid Range: Refer to the description.
Description: The Deposit Printer Data field contains text to be printed on the envelope, check, or
other document that the consumer inserts into the depository.

Deposit Bin ID (terminals with IDM only)


Field Size: 3 characters
Valid Range: 000 through 003
Description: The deposit bin ID tells the terminal in which bin to place a deposit, subject to the
capabilities of the IDM as follows. If the bin ID in this field is lower than the lowest numbered bin in
the IDM, the lowest numbered bin is used. If the bin ID in this field is higher than the highest
numbered bin in the IDM, the highest numbered bin is used.

Agilis 3 91x uses the value in this field only when the Function Command message contains one of
the following function IDs:

 R - Deposit check to escrow


 S - Return check if in escrow
 T - Retain check if in escrow

If any other function ID is specified in the Function Command message, Agilis 3 91x ignores the
value in the Deposit Bin ID field.

Reserved
Field Size: 3 characters
Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in this entry, so any character data is acceptable. The
recommended value for this entry is 000.

Check Accepted Screen (terminals with IDM only)


Field Size: 3 characters
Valid Range: Valid screen numbers (Section 5.6)
Description: This field contains the number of the screen to display when the IDM has accepted a
check but has not yet read or scanned the check. If the value in this field is 000, the terminal does
not change the screen currently showing. If this field is not included in the message, the value
defaults to 000.
Check Handling Delay Screen (terminals with IDM only)
Field Size: 3 characters
Valid Range: Valid screen numbers (Section 5.6)
Description: This field contains the number of the screen to display if the time specified in the
Check Handling Delay Time field expires, after the check is accepted. This time might expire if the
IDM has difficulty locating the MICR data on the check. This screen is used to assure the consumer
that the check is still being processed. If the value in this field is 000, the terminal does not change
the screen currently showing. If this field is not included in the message, the value defaults to 000.

Check Handling Delay Time (terminals with IDM only)


Field Size: 3 characters
Valid Range: 000 through 254, and 255
Description: The value in this field specifies the number of seconds to wait after the check is
accepted before displaying the Check Handling Delay screen. A value of 255 causes Agilis 3 91x to
not display the Check Handling Delay screen. The suggested value is 020 (20 seconds). If this field
is not included in the message, the value defaults to 255.

Reserved (two fields)


Field Size: 3 characters (each field)
Valid Range: 000 (each field)
Description: These fields are reserved.

Coin Field ID (terminals with coin dispenser only)


Field Size: 1 character
Valid Range: 8
Description: This one character Coin Field ID field tells the terminal that Dollar Amount of Coins
data follows.

Reserved (terminals with coin dispenser only)


Field Size: 3 characters
Valid Range: 000
Description: This field is reserved.

NOTE

For U.S. coin denominations, either the Number of Coins to Dispense field or the Dollar
Amount of Coins field can be used to specify the coin dispense amount, so long as both are
not used. If both fields are used, the Dollar Amount of Coins field takes precedence.

Dollar Amount of Coins (terminals with coin dispenser only)


Field Size: 8 characters
Valid Range: Refer to the description.
Description: This field contains the dollar value of the U.S. coins to be dispensed. The amount is
formatted as eight decimal digits, with leading zeros as required (for example, this field would
contain 00000249 for the dollar amount $2.49). The terminal determines the coin mix using a least-
coin algorithm. This algorithm assumes the presence of all four U.S. coin denominations (1 cent, 5
cents, 25 cents, and 1 dollar) with the standard denomination ID assignments. The algorithm is
fixed and unconfigurable.
NOTE

Either the Number of Coins Dispensed field or Buffer 8 can be used to specify the coin
dispense amount, so long as both are not used (if they are, Buffer 9 takes precedence). If
Buffer 8 data is present, the terminal uses a least coin algorithm to determine the mix. This
algorithm assumes the presence of all four coin denominations and is fixed and
unconfigurable.

Track 1 Field ID
Field Size: 1 character
Valid Range: 9
Description: This one-character Track 1 field ID field tells the terminal that track 1 data follows.

Track 1 Data
Field Size: Variable (78 characters maximum)
Valid Range: Refer to the description.
Description: This field contains the data to be written onto track 1. This data replaces any data
previously in the terminal's track 1 buffer. The track 1 data in this field must include the start and
end sentinels.

Track 2 Field ID
Field Size: 1 character
Valid Range: : (colon character)
Description: This one-character Track 2 field ID field tells the terminal that track 2 data follows.

Track 2 Data
Field Size: Variable (39 characters maximum)
Valid Range: Refer to the description.
Description: This field contains the data to be written onto track 2. This data replaces any data
previously in the terminal's track 2 buffer. The track 2 data in this field must include the start and
end sentinels.

Enhanced Configuration Data Field ID


Field Size: 3 characters
Valid Range: Refer to the description.
Description: This field tells the terminal that enhanced configuration data follows. The valid field
IDs are as follows:
 '6' - Update Screens
 '9' - Update Buffers
 ' : ' - Perform Function

The Perform Function field ID ( ' : ' ) indicates that the data that follows is function data for one of
the enhanced functions. This field ID does not direct the terminal to execute the enhanced function
associated with the function data. To execute the enhanced function, the Execute Enhanced
Functions function ID ( ; ) must be specified in the Function Identifier field.
Each Function Command message can contain no more than one Perform Function field ID.
However, multiple enhanced functions can be specified by separating each set of function data from
the next with a group separator.

For information about function data for the enhanced functions, refer to Section 6.5.1 through
Section 6.5.13.

Enhanced Configuration Data


Field Size: Variable
Valid Range: Refer to the description.
Description: This field contains the corresponding data for the previous field ID. For details on the
data in this field, refer to Section 6.5.

NOTE

The field separator, Enhanced Configuration Data Field ID field, and Enhanced Configuration
Data field can be repeated as often as required up to the message length restriction.

MAC Data
Field Size: 8 characters
Valid Range: Hexadecimal digits (0 through 9, and A through F)
Description: This eight-character field contains hexadecimal characters that represent the MAC
calculation of the Function Command message. Refer to the Data Security Procedures and
Reference Manual (TP-799530-001E) for additional details.

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

6.4.1 Print Immediate (4)

The Print Immediate function (function ID 4) directs the terminal to print the information sent to the
terminal. This function is often used when the operator requests to balance the terminal.

The terminal processes the Print Immediate function as follows.

1. Shows the screen specified in the Function Command message.


2. Initializes for printing.
3. Directs the printer(s) (receipt or journal) specified by the printer flag in the Function
Command message to print and, if applicable, to cut and deliver the printed document.
4. Sends a Ready message

6.4.2 Set Next State and Print (5)

The Set Next State and Print function (function ID 5) directs the terminal to print the information
received from the network, then proceed to the next state defined in the Function Command
message. This function is often used when the consumer requests an inquiry, when a transaction is
disallowed, or any print operation.
The terminal processes the Set Next State and Print function as follows.

1. Initializes for printing


2. Directs the printer(s) (receipt or journal) specified by the printer flag in the Function
Command message to print and, if applicable, to cut and deliver the printed document
3. Sends a Ready message

6.4.3 After Hour Depository Deposit and Print (6)

The terminal processes the After Hour Depository Deposit and Print function (function ID 6) as
follows.

1. Shows the screen specified in the Function Command message.


2. Starts timer 08 (bag deposit insertion timer).
3. Checks for the completion of the deposit. The deposit is complete when the consumer
closes the door of the After Hour depository and the door cycles successfully.
o If timer 08 expires before the deposit is complete, the terminal starts timer 01
(consumer response extension timer) and shows screen 000. If timer 01 expires
before the deposit is complete, the terminal sends an After Hour Depository
Solicited Status message indicating a fault and waits for a new Function Command
message.
o If the Cancel key is pressed while the terminal is checking for the completion of the
deposit, the terminal sends an After Hour Depository Solicited Status message
indicating a fault and waits for a new Function Command message.
o If the deposit is completed successfully, the terminal goes to Step 4.
4. Initializes for printing.
5. Directs the printer(s) (receipt, journal, or statement) specified by the printer flag in the
Function Command message to print and, if applicable, to cut and deliver the printed
document.
6. Sends a Ready message.

6.4.4 Deposit Envelope (A)

The Deposit Envelope function (function ID A) specifies an envelope deposit for an envelope
depository.

The terminal processes the Deposit Envelope function, as shown in the steps below.

1. Shows the screen specified in the Function Command message


2. Starts timer 04 (deposit insertion timer). If timer 20 has a non-zero value, Agilis 3 91x uses
timer 20 in place of timer 04.
3. Checks for deposit insertion
o If timer 04 (or timer 20, if applicable) expires before the consumer inserts the
envelope, the terminal starts timer 01 (consumer response extension timer) and
shows the More Time screen. If timer 01 expires before the consumer inserts the
envelope, the terminal sends a Depository Solicited Status message indicating a
fault and waits for a new Function Command message.
o If the Cancel key is pressed while the terminal is checking for the insertion of the
envelope, the terminal sends a Depository Solicited Status message that indicates
a fault and waits for a new Function Command message.
o If an envelope is inserted, the terminal goes to Step 4.
4. Transports the deposit envelope
o If a fault occurs while the terminal is performing the deposit, the terminal sends a
Depository Solicited Status message indicating a fault and waits for a new Function
Command message.
o If a fault does not occur, the terminal goes to Step 5.
5. Increases the envelope deposit count by one
6. Prints one of the following items on the envelope
o Print data provided by the network, sent in the Function Command message
o The default deposit print data, if there was no deposit print data in the Function
Command message
7. Waits for the deposit to finish
o If a fault occurs while the terminal is waiting for the deposit to finish, the terminal
sends a Depository Solicited Status message that indicates a fault and waits for a
new Function Command message.
o If a fault does not occur, the terminal checks for an additional function identifier in
the Function Command message.

6.4.5 Dispense Currency (B)

The Dispense Currency function (function ID B) directs the terminal to dispense bills, coins, or both.

The terminal processes the Dispense Currency function as follows:

1. Shows the screen specified in the Function Command message


2. Initializes for the dispense function
3. Starts dispensing
4. If a fault occurs while the terminal is dispensing, the terminal proceeds as follows:
a. Sends a Dispenser Solicited Status message indicating a fault
b. Waits for a new Function Command message
5. If a fault does not occur while the terminal is dispensing, the terminal checks for an
additional function identifier in the Function Command message.

6.4.6 Deliver Currency (C)

The Deliver Currency function (function ID C) directs the terminal to deliver the currency previously
dispensed.

NOTE

If the preceding dispense operation dispensed coins only (no bills), the Deliver Currency
function goes immediately to successful completion.

The terminal processes the Deliver Currency function as follows:

1. Shows the screen specified in the Function Command message


2. Starts presenting the bills to the consumer
3. If a fault occurs during the present operation, the terminal sends a Presenter Solicited
Status message indicating a fault, then waits for a new Function Command message.
If the preceding dispense operation dispensed coins along with the bills, the coins have
automatically been delivered to the consumer and cannot be retained if the delivery of the
bills fails.

4. If a fault does not occur during the present operation, the terminal starts timer 05. When all
the presented bills are removed or when timer 05 expires, the terminal starts timer 07.
5. If all the bills are removed before timer 07 expires, the terminal goes to Step 8.
6. If timer 07 expires before all the bills are removed, and the No Retract feature is enabled,
the terminal proceeds as follows:
o If the No Retract feature is configured to send Money Forgotten and Money
Removed messages, the terminal sends a Presenter Solicited Status message
indicating money forgotten, then waits for a new Function Command message.
o If the No Retract feature is not configured to send Money Forgotten and Money
Removed messages, the terminal goes to Step 8.
7. If timer 07 expires before all the bills are removed, and the No Retract feature is not
enabled, the terminal dumps or retracts the bills (depending on Agilis Configuration Utility
settings), then proceeds as follows:
o If the terminal is configured to report status after dumping the bills (set in the Agilis
Configuration Utility), the terminal sends a Presenter Solicited Status message
(fault on present - consumer had access to cash), then waits for a new Function
Command message.
o If the terminal is configured to not report status, the terminal goes to Step 8.
8. The terminal checks for an additional function identifier in the Function Command message.

6.4.7 Print and Wait for Completion (D)

NOTE

By default, the terminal processes function ID D as a Print and Do Not Wait for Completion
function (Section 6.4.11). The Print and Wait for Completion functionality is enabled only if
the feature is configured in the ACU.

If configured in the ACU, the Print and Wait for Completion function (function ID D) directs the
terminal to wait for the completion of printing before going to the next function.

The terminal processes the Print and Wait for Completion function as follows:

1. Shows the screen specified in the Function Command message


2. Initializes for printing
3. Directs the printer(s) (receipt or journal) specified by the printer flag in the Function
Command message to print and, if applicable, to cut and deliver the printed document
4. If a fault occurs while printing (either printer), the terminal sends a Printer Solicited Status
message indicating a fault, then waits for a new Function Command message.
5. If a fault does not occur while printing, the terminal checks for an additional function
identifier in the Function Command message.

6.4.8 Return Card Immediately (E) (912 mode)

The Return Card Immediately function (function ID E) directs the terminal to return the card
immediately and wait for the consumer to remove the card before processing the next function.
The terminal processes the Return Card Immediately function as follows:

1. Returns the card to the consumer


o If a fault occurs while the terminal is returning the card, the terminal sends a Card
Reader Solicited Status message indicating a fault and waits for a new function
command message.
o If a fault does not occur, the terminal goes to Step 2.
2. Shows the screen specified in the Function Command message
3. Starts timer 09 (card removal time-out interval before card capture attempt)
4. Checks for card removal by the consumer
o If the card is removed before timer 09 expires, the terminal checks for an additional
function identifier in the Function Command message.
o If timer 09 expires before the card is removed, the terminal goes to Step 5.
5. Begins transporting the card back into the terminal
o If the consumer takes the card after the terminal starts transporting the card, or if
the card is not transported correctly, the terminal sends a Card Reader Solicited
Status message that indicates a fault and waits for a new Function Command
message.
o If the consumer does not take the card after the terminal starts transporting the
card, and if the card is transported correctly, the terminal goes to Step 6.
6. Begins retaining the card
7. If a fault occurs while the terminal is retaining the card, the terminal sends a Card Reader
Solicited Status message indicating a fault and waits for a new Function Command
message.
8. If a fault does not occur while the terminal is retaining the card, the terminal proceeds as
follows:
a. Increases the cards captured count by one
b. Sends a Card Reader Solicited Status message indicating a completion
c. Waits for a new Function Command message

6.4.9 Write Track 3 (F)

The Write Track 3 function (function ID F) directs the terminal to immediately write onto the card the
data from the track 3 buffer (buffer 090). The track 3 buffer contains either data read from the card
or data obtained from the Track 3 Data field of the Function Command message.

The terminal processes the Write Track 3 function as follows:

1. Shows the screen specified in the Function Command message


2. Checks for data in the track 3 buffer (this data might be from the card or the Function
Command message)
o If no track 3 data is found, the terminal sends a Card Writer Solicited Status
message indicating a fault and waits for a new Function Command message.
o If track 3 data is found, the terminal goes to Step 3.
3. Initializes for writing
4. Writes the data found in the track 3 buffer onto track 3 of the card
o If a fault does not occur while the terminal is writing on the card, the terminal
checks for an additional function identifier in the Function Command message.
o If a fault occurs after three attempts to write on the card, the terminal goes to Step
5.
5. Retains the card if the terminal cannot advance the card to write on it
6. Sends a Card Writer Solicited Status message indicating a fault and waits for a new
Function Command message

6.4.10 After Hour Depository Deposit (G) (912 mode)

The terminal processes the After Hour Depository Deposit function (function ID G) as follows.

1. Shows the screen specified in the Function Command message.


2. Starts timer 08 (bag deposit insertion timer).
3. Checks for the completion of the deposit. The deposit is complete when the consumer
closes the door of the After Hour depository and the door cycles successfully.
o If timer 08 expires before the deposit is complete, the terminal starts timer 01
(consumer response extension timer) and shows screen 000. If timer 01 expires
before the deposit is complete, the terminal sends an After Hour Depository
Solicited Status message indicating a fault and waits for a new Function Command
message.
o If the Cancel key is pressed while the terminal is checking for the completion of the
deposit, the terminal sends an After Hour Depository Solicited Status message
indicating a fault and waits for a new Function Command message.
o If the deposit is completed successfully, the terminal checks for an additional
function identifier in the Function Command message.

6.4.11 Print and Do Not Wait for Completion (H)

The Print and Do Not Wait for Completion function (function ID H) directs the terminal to not wait for
the completion of printing before going to the next function.

The terminal processes the Print and Do Not Wait for Completion function as follows:

1. Shows the screen specified in the Function Command message


2. Initializes for printing
3. Directs the printer(s) (receipt or journal) specified by the printer flag in the Function
Command message to print and, if applicable, to cut and deliver the printed document
4. Checks for an additional function identifier in the Function Command message

6.4.12 Print Data and Stay in Present State (P)

The Print Data and Stay in Present State function (function ID P) directs the terminal to print data
and stay in the present state. After printing the data received from the network, Agilis 3 91x stays in
the Transaction Request state and waits for another Function Command message.

This function allows the terminal to print large amounts of data without continually sending
Consumer Request messages to the network. Using this function, the terminal prints the data sent
from the network and returns a Ready message to the network, then waits for more data. The
terminal does not cut or deliver the printed document. Once all the data has been printed, the
network sends a print function ID other than P, with a next state specified.

The Print Data and Stay in Present State function supports the following printers:
 Receipt printer
 Journal printer

When function ID P is used, it must be the last function ID in the Function Command message.
Function ID P can be used with or without other function IDs in the message (but cannot be used
with another print function ID, such as 4, 5, D, H, or P).

The Print Data and Stay in Present State function can be used to stay in the present state without
printing. If no print data is specified in the Function Command message, or if the printer flag is set to
0 (indicating Do Not Print), the terminal sends a Ready message and remains in the Transaction
Request state as it awaits another Function Command message.

6.4.13 Perform Presenter Dump (Q)

The Perform Presenter Dump function (function ID Q) directs the terminal to perform a dump
operation of the cash presenter. The terminal returns a Ready message to the network. This is used
when the previous consumer had an incomplete transaction and cash was left in the presenter.

6.4.14 Deposit Check to Escrow (R) (terminals with IDM or IDMbd single-
check mode only)

The Deposit Check to Escrow function (function ID R) directs the terminal to accept a single check
or other document and hold the check or document in the escrow position. This function is intended
to be the first step of a check deposit sequence.

If there is no check or other document in escrow at the start of this function, the terminal enables
the IDM to perform the following operations:

 Accept a check or document


 Read the MICR line as directed by the setting in the Agilis Configuration Utility
 Capture the image(s) of the check or document
 Hold the check or document in the escrow position

Timeout of this operation is controlled by timer 20 (if timer 20 has a non-zero value) or by timer 04.
The Cancel key is enabled during processing of this function.

If a check or other document is in escrow at the start of this function, the check or document is
moved to the deposit bin specified in the Function Command message. If no deposit bin is
specified, the default deposit bin is used. The deposit then proceeds as described in the preceding
paragraphs.

6.4.15 Return Check if in Escrow (S) (terminals with IDM or IDMbd single-
check mode only)

The Return Check if in Escrow function (function ID S) directs the terminal to return a check or other
document to the consumer, after printing on the check or document. The terminal moves the check
or document from the escrow position to the entry slot of the depository, to allow the consumer to
retrieve the check or document.
If there is data in the Deposit Printer Data field, the terminal prints this data on the check or
document. If there is no data in the Deposit Printer Data field, the terminal prints the default data
(Section 3.3.1). If no printing is desired, the Deposit Printer Data field must contain all spaces.

Timeout of this operation is controlled by timer 09. If a timeout occurs, the check or document is
captured and placed in the deposit bin specified in the Function Command message. If no deposit
bin is specified, the default deposit bin is used.

The Cancel key is disabled during processing of this function.

Return and Retain if Jam Feature


If the Return and Retain if Jam feature is enabled, the terminal automatically attempts to recover
from a jam during the check return by moving the affected check into the bin specified by the
Function Command message data. If the attempt is successful, the terminal does not report a jam
status to the network.

6.4.16 Retain Check if in Escrow (T) (terminals with IDM or IDMbd single-
check mode only)

The Retain Check if in Escrow function (function ID T) directs the terminal to retain a check or other
document, after printing on the check or document. The terminal moves the check or document
from the escrow position to the deposit bin specified in the Deposit Bin ID field. If no deposit bin is
specified, the default deposit bin is used.

If there is data in the Deposit Printer Data field, the terminal prints this data on the check or
document. If there is no data in the Deposit Printer Data field, the terminal prints the default data
(Section 3.3.1). If no printing is desired, the Deposit Printer Data field must contain all spaces.

The Cancel key is disabled during processing of this function.

6.4.17 Present Card (U)

The Present Card function (function ID U) directs the terminal to return the card and not wait for the
consumer to remove the card before going to the next function.

The terminal processes the Present Card function as follows:

1. Returns the card to the consumer


o If a fault occurs while the terminal is returning the card, the terminal sends a Card
Reader Solicited Status message indicating a fault and waits for a new function
command message.
o If a fault does not occur, the terminal goes to Step 2.
2. Shows the screen specified in the Function Command message
3. The terminal checks for an additional function identifier in the Function Command message.

6.4.18 Write Track 1 (V)

The Write Track 1 function (function ID V) directs the terminal to write the card data stored in the
track 1 buffer (buffer 088) to track 1 of the card, if the card reader has that capability.
The terminal processes the Write Track 1 function as follows:

1. Shows the screen specified in the Function Command message


2. Checks for data in the track 1 buffer (this data might be from the card or the Function
Command message)
o If no track 1 data is found, the terminal sends a Card Writer Solicited Status
message indicating a fault and waits for a new Function Command message.
o If track 1 data is found, the terminal goes to Step 3.
3. Initializes for writing
4. Writes the data found in the track 1 buffer onto track 1 of the card
o If a fault does not occur while the terminal is writing on the card, the terminal
checks for an additional function identifier in the Function Command message.
o If a fault occurs after three attempts to write on the card, the terminal goes to Step
5.
5. Retains the card if the terminal cannot advance the card to write on it
6. Sends a Card Writer Solicited Status message indicating a fault and waits for a new
Function Command message

6.4.19 Write Track 2 (W)

The Write Track 2 function (function ID W) directs the terminal to write the card data stored in the
track 2 buffer (buffer 089) to track 2 of the card, if the card reader has that capability.

The terminal processes the Write Track 2 function as follows:

1. Shows the screen specified in the Function Command message


2. Checks for data in the track 2 buffer (this data might be from the card or the Function
Command message)
o If no track 2 data is found, the terminal sends a Card Writer Solicited Status
message indicating a fault and waits for a new Function Command message.
o If track 2 data is found, the terminal goes to Step 3.
3. Initializes for writing
4. Writes the data found in the track 2 buffer onto track 2 of the card
o If a fault does not occur while the terminal is writing on the card, the terminal
checks for an additional function identifier in the Function Command message.
o If a fault occurs after three attempts to write on the card, the terminal goes to Step
5.
5. Retains the card if the terminal cannot advance the card to write on it
6. Sends a Card Writer Solicited Status message indicating a fault and waits for a new
Function Command message

6.4.20 Disable IDM (X) (terminals with IDM or IDMbd single-check mode only)

The Disable IDM function (function ID X) directs the terminal to shut down the IDM. All further IDM
operations are suspended until the IDM is cleared and the terminal enters and exits the
Maintenance mode.
This function can be used to limit damage to a check or document jammed in the device. The
function can also be used when a check or document in escrow cannot be moved to a deposit bin,
and it is not desirable to return the check or document to the consumer.

6.4.21 Do Nothing (Z)

The Do Nothing function (function ID Z) directs the terminal to show a screen, update the screen
data, and check for an additional function ID.

The terminal processes the Do Nothing function as follows:

1. Shows the screen specified in the Function Command message


2. Checks for an additional function identifier in the Function Command message

6.4.22 Execute Enhanced Functions ( ; )

The Execute Enhanced Functions function ID ( ; ) directs the terminal to execute one or more
enhanced functions.

The Enhanced Configuration Data Field ID field of the Function Command message must contain
the Perform Function field ID ( ' : ' ). The Enhanced Configuration Data field must contain the
function data for one of the enhanced functions.

Function data and terminal processing for the enhanced functions is described in Section 6.5.1
through Section 6.5.13.

6.4.23 Passbook Printer Function Commands (912 mode)

Agilis 3 91x supports the following function commands for passbook printer operation:

 Accept passbook, print, and wait ( \ )


 Accept passbook, print, and set next state ( ] )
 Return passbook ( ^ )
 Escrow passbook ( _ )
 Print and set next state (D)
 Print and stay in present state (P)

Function Command messages containing these function commands are subject to the following
additional constraints.

 The value in the Printer Flag field must be the character < (less-than symbol). This printer
flag allows Agilis 3 91x to recognize the function command as a passbook printer function
command. This printer flag must be used with all the function commands in the preceding
list, even those function commands that do not perform printing functions (return passbook,
escrow passbook).
 The Function Command message can contain only one function ID (the desired passbook
printer function command).
 For printing operations, the data in the Printer Data field must conform to the description of
passbook printer data found in Table 6-46 (and following paragraphs) in Section 6.5.12.

When the terminal receives the Function Command message from the network, the terminal
converts the network's message to an enhanced Function Command message. In performing this
conversion, the terminal ignores the following fields in the network's Function Command message:

 Number of Bills to Dispense


 Number of Coins to Dispense
 Card Return/Retain Flag
 All fields following the first Printer Data field

These fields can be omitted from the Function Command message at the network programmer's
discretion.

The enhanced Function Command message contains one or more enhanced Passbook Printer
function commands (PB b). Also, the terminal places the printer data in buffer V.

The following paragraphs describe the function data portion of the enhanced Function Command
message for each of the passbook printer function commands. For detailed information about
passbook printer operations, refer to the descriptions of the Passbook Printer function data (Section
6.5.12).

Accept Passbook, Print, and Wait ( \ )


The Accept Passbook, Print, and Wait function command (function ID \ ) directs the terminal to
accept the insertion of a passbook, print on the passbook, and then wait for another Function
Command message from the network.

An Accept Passbook, Print, and Wait function command is converted to an enhanced Function
Command message containing the data shown in the following table.

Entry Value
Field ID (Perform Function) ' : '
Group ID (Device ID) PB b
Unit Number 001
Operation 003 (accept passbook)
Screen Number Screen Number field from the network's Function Command message
Consumer Response Time Insertion Timeout entry set in the Agilis Configuration Utility
Redeliver Screen 000
Group Separator hex 1D
Group ID (Device ID) PB b
Unit Number 001
Operation 002 (print passbook)
Screen Number Screen Number field from the network's Function Command message
Print Buffer ID 'V'
Group Separator hex 1D
Group ID (Device ID) MF b
Data 001

Accept Passbook, Print, and Set Next State ( ] )


The Accept Passbook, Print, and Set Next State function command (function ID ] ) directs the
terminal to accept the insertion of a passbook, print on the passbook, and then go to the next state
specified in the Function Command message.

An Accept Passbook, Print, and Set Next State function command is converted to an enhanced
Function Command message containing the data shown in the following table.

Entry Value
Field ID (Perform Function) ' : '
Group ID (Device ID) PB b
Unit Number 001
Operation 003 (accept passbook)
Screen Number Screen Number field from the network's Function Command message
Consumer Response Time Insertion Timeout entry set in the Agilis Configuration Utility
Redeliver Screen 000
Group Separator hex 1D
Group ID (Device ID) PB b
Unit Number 001
Operation 002 (print passbook)
Screen Number Screen Number field from the network's Function Command message
Print Buffer ID 'V'

Return Passbook ( ^ )
The Return Passbook function command (function ID ^ ) directs the terminal to return the passbook
to the consumer.

A Return Passbook function command is converted to an enhanced Function Command message


containing the data shown in the following table.

Entry Value
Field ID (Perform Function) ' : '
Group ID (Device ID) PB b
Unit Number 001
Operation 004 (return passbook)
Screen Number Screen Number field from the network's Function Command message
Consumer Response Time 931

Escrow Passbook ( _ )
The Escrow Passbook function command (function ID _ ) directs the terminal to retain the passbook
and close the entry slot.

An Escrow Passbook function command is converted to an enhanced Function Command message


containing the data shown in the following table.

Entry Value
Field ID (Perform Function) ' : '
Group ID (Device ID) PB b
Unit Number 001
Operation 005 (escrow passbook)
Screen Number Screen Number field from the network's Function Command message

Print and Set Next State (D)


The Print and Set Next State function command (function ID D) directs the terminal to print on the
passbook, and then go to the next state specified in the Function Command message.

A Print and Set Next State function command is converted to an enhanced Function Command
message containing the data shown in the following table.

Entry Value
Field ID (Perform Function) ' : '
Group ID (Device ID) PB b
Unit Number 001
Operation 002 (print passbook)
Screen Number Screen Number field from the network's Function Command message
Print Buffer ID 'V'

Print and Stay in Present State (P)


The Print and Stay in Present State function command (function ID P) directs the terminal to print
on the passbook, then wait for another Function Command message from the network.

A Print and Stay in Present State function command is converted to an enhanced Function
Command message containing the data shown in the following table.

Entry Value
Field ID (Perform Function) ' : '
Group ID (Device ID) PB b
Unit Number 001
Operation 002 (print passbook)
Screen Number Screen Number field from the network's Function Command message
Print Buffer ID 'V'
Group Separator hex 1D
Group ID (Device ID) MF b
Data 001

6.5 Enhanced Function Command Message (ID 7)

The network transmits a Function Command message to update the configuration data or to tell the
terminal how to complete a consumer transaction or both. The enhanced Function Command
message provides more versatility and flexibility than the standard Function Command message
described in Section 6.4. The format of the enhanced Function Command message entries is
shown in Table 6-35.

The network can send multiple field entries in one enhanced Function Command message.
However, the network cannot send the same field ID more than once in the same message.

The network can also send multiple group entries in certain fields.

Within one message, the network can send as many fields and field groups as necessary until the
maximum allowable length of the message has been reached (8192 bytes).

The network programmer need not specify all the possible field IDs in a given enhanced function
command. Technically, all field IDs are optional. The programmer specifies only those field IDs
relevant to the specific application.

The network can also send a Function Command message with no field entries. The network can
use this type of Function Command message to send the terminal directly to the Good Operation
Next State without first performing a function.

Table 6-35 Enhanced Function Command Message Format


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Message ID (Enhanced Function Command) 7 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[1]
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Message Coordination Number --- 1
Field Separator (FS) hex 1C 1
Transaction Serial Number --- 4
Field Separator (FS) hex 1C 1
Good Operation Next State --- 3

Field Separator (FS) hex 1C 1


Field ID (Update Screens) '6' 3
Group ID (Screen Number) --- 3
Screen Data --- Variable
[2]
[ Group Separator (GS) ] [ hex 1D ] [1]
[2]
[ Group ID (Screen Number) ] [---] [3]
[2]
[ Screen Data ] [---] [ Variable ]

Field Separator (FS) hex 1C 1


Field ID (Update Buffers) '9' 3
Group ID (Buffer ID) --- 3
Buffer Data --- Variable
[2]
[ Group Separator (GS) ] [ hex 1D ] [1]
[2]
[ Group ID (Buffer ID) ] [---] [3]
[2]
[ Buffer Data ] [---] [ Variable ]

Field Separator (FS) hex 1C 1


Field ID (Perform Function) ':' 3
Group ID (Device ID) --- 3
Function Data --- Variable
[2]
[ Group Separator (GS) ] [ hex 1D ] [1]
[2]
[ Group ID (Device ID) ] [---] [3]
[2]
[ Function Data ] [---] [ Variable ]
[3]
Field Separator (FS) hex 1C 1
[3]
MAC Data --- 8

Protocol Dependent Trailer Variable Variable


[1]
If message authentication (MAC) is used, the network sends an eight-byte time variant number in
place of the message sequence number.
[2]
This set of fields can be repeated as often as required up to the maximum message length.
[3]
MAC data is required only if message authentication (MAC) is used. If the field separator is
included in the message, the MAC Data field must be present.

The following paragraphs describe the fields in the enhanced Function Command message.

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Message ID
Field Size: 1 character
Valid Range: 7
Description: This one-character data field defines the type of message being transmitted. The only
valid value for the enhanced Function Command message is 7.

Response Flag
Field Size: 1 character
Valid Range: 1
Description: The Response Flag entry is part of the logical protocol in a network message. This
entry is included for compatibility with other Diebold products. It is a reserved entry and must
contain a value of 1.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The terminal includes the LUNO (and the terminal's six-character machine
number, if defined AND MAC is enabled) in messages sent to the network. If desired, the network
can put the LUNO (and machine number, if applicable) in messages sent to the terminal. However,
the terminal ignores any data that it receives in this field.

The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).

Message Sequence Number


Field Size: Variable (up to 8 characters)
Valid Range: Refer to the description.
Description: The message sequence number is a network-generated number that identifies the
message for tracking. The network can send this number to the terminal in Function Command
messages, Write Command messages, and Operational Command messages. The terminal does
not use this number, but if the Message Sequence Number in Solicited Status Messages feature is
selected, Agilis 3 91x returns this number to the network in the Solicited Status message sent in
response to the network's message.

If message authentication (MAC) is used, the Function Command message must contain the time
variant number from the preceding Consumer Request message in place of the message sequence
number. For more details on the time variant number, refer to the Data Security Procedures and
Reference Manual (TP-799530-001E).

Message Coordination Number


Field Size: 1 character
Valid Range: ASCII 31 through 7E
Description: This is a character assigned by the terminal to each Consumer Request message.
The terminal assigns a different coordination number to each successive Consumer Request
message on a rotating basis. The valid range for the coordination numbers is 1 through 9, : ; < = >
and ? (ASCII 31 through 3F). If the extended range for message coordination number field bit is
selected in the Miscellaneous Feature 3 field of a Write Command 3 message (Section 5.15), then
the valid range is ASCII 31 through 7E. The network must include the corresponding coordination
number when responding with a Function Command message. If the coordination numbers do not
match, the terminal sends a Solicited Status message with a Command Reject status.

NOTE
If the Message Coordination Number field in the Function Command message contains 0
(zero), the terminal accepts the Function Command message without attempting to verify
that the number matches the message coordination number sent in the Consumer Request
message.

When the terminal is powered up after a reset or a power failure, the terminal resets the
coordination number to 2.

Transaction Serial Number


Field Size: 4 characters
Valid Range: 0000 through 9999
Description: The transaction serial number is a network-assigned number that identifies the
transaction to the network. The terminal can print this number on an envelope, check, or other
document deposited at the terminal. Also, depending on terminal configuration, Agilis 3 91x can
print this number on the journal printer along with a fault status.

Good Operation Next State


Field Size: 3 characters
Valid Range: Valid state numbers (Section 5.3.1)
Description: The Good Operation Next State field defines the state number that the terminal
should execute after the normal completion of the specified function command.

Field ID (Update Screens)


Field Size: 3 characters
Valid Range: '6'
Description: The Update Screens entry is a field ID that tells the terminal the next message entries
contain Screen Number and Screen Data entries.

Group ID (Screen Number)


Field Size: 3 characters
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry is a Group ID that identifies specific Screen Data entries.

Screen Data
Field Size: Variable, subject only to the total length limit for the message
Valid Range: ASCII characters
Description: A Screen Data entry contains data that the terminal uses to show screens on the
consumer display. With the use of special control sequences, the terminal can also print a Screen
Data entry on the receipt printer or journal printer.

Screen data is part of the configuration data that the network downloads with Write Command
messages or updates with Function Command messages. For more information about screens,
refer to Section 5.6.

Field ID (Update Buffers)


Field Size: 3 characters
Valid Range: '9'
Description: The Update Buffers entry is a field ID that tells the terminal the next message entries
contain Buffer ID and Buffer Data entries.

Group ID (Buffer ID)


Field Size: 3 characters
Valid Range: 'A' through 'Z', and 256 through 355
Description: The Buffer ID entry is a Group ID that identifies a buffer.

Buffer Data
Field Size: Variable, limited only by the total length limit for the message
Valid Range: For each byte, hexadecimal 00 through FF (decimal 0 through 255)
Description: The Buffer Data entry contains the data to be stored in the designated buffer
(identified by the Buffer ID entry preceding this entry).

NOTE

It is the responsibility of the network programmer to ensure that any buffer data included in
the Consumer Request message is compatible with communications protocol restrictions.
The recommended range is printable characters (ASCII hex 20 through 7E).

Field ID (Perform Function)


Field Size: 3 characters
Valid Range: ' : '
Description: The Perform Function entry is a field ID that tells the terminal the next message
entries contain Device ID and Function Data entries.

Group ID (Device ID)


Field Size: 3 characters
Valid Range: Refer to Section 6.5.1.
Description: The Device ID entry identifies a device or enhanced function.

Function Data
Field Size: Variable
Valid Range: Refer to the description.
Description: A Function Data entry is a set of parameters or rules that tell the terminal how to
complete a consumer transaction. A Function Data entry causes the terminal either to go directly to
a state or to perform a device operation and then proceed to a state. The specific function data
entries are described in Section 6.5.5 through Section 6.5.13.

NOTE

Each enhanced Function Command message can contain multiple functions (multiple sets
of Device ID and Function Data entries), separated by group separators (GS). This includes
multiple functions for the same device (for example, a print function and a deliver function
for a receipt printer).

MAC Data
Field Size: 8 ASCII characters
Valid Range: Hexadecimal digits (0 through 9, and A through F)
Description: The MAC Data entry contains eight characters that represent the result of a Message
Authentication Code (MAC) calculation on the message. The MAC entry is optional. It is only
necessary when the terminal uses message authentication.

Message authentication allows the terminal and the network to check that a message was not
tampered with while the message was on the communications lines. Refer to the Data Security
Procedures and Reference Manual (TP-799530-001E) for additional details on the MAC option.

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

6.5.1 Enhanced Functions

The following enhanced functions are supported.

Device ID Function Name Refer to...


AH b After Hour depository Section 6.5.2
CI b Currency Acceptor function Section 3.1.1
CR b Card Reader function Section 6.5.5
DP b Depositor function (single-item deposits) Section 6.5.6
DP b Depositor function (bulk document deposits) Section 6.5.7
MF b Multiple Functions function Section 6.5.8
PR b Printer function (receipt printer) Section 6.5.9
(PR b) Printer function (journal printer) Section 6.5.10
(PR b) Printer function (electronic journal) Section 6.5.11
(PB b) Printer function (passbook printer) Section 6.5.12
.A b Do Nothing function Section 6.5.13

Order of Processing
The terminal stores all update data received in the Function Command message before executing
any of the functions specified in the Perform Function section of the message. If the Perform
Function section includes multiple functions, the terminal executes the functions in the order that
they occur in the message. The terminal executes all functions specified in the Perform Function
section before exiting to the Good Operation Next State specified in the message.

Completing an Operation
Depending on the operation specified in the function data, the terminal completes an operation as
follows:
 If the terminal is directed to wait for a consumer response and the consumer responds
before the timeout occurs, the terminal goes to the next operation specified in the Function
Command message. The next operation is determined by the next function specified in the
Perform Function section of the message (if any) or the state specified by the Good
Operation Next State entry (if there are no additional functions).
 If the terminal is directed to wait for a consumer response and the consumer does not
respond before the timeout occurs, the terminal stops the function processing. The terminal
sends the network a Solicited Status message indicating a consumer timeout and the
device that was waiting for a consumer response. Then, the terminal remains in the
Transaction Request state while waiting for another Function Command message from the
network.
 If the terminal is directed to wait for the operation to complete, and the operation is
successful, the terminal goes to the next function specified in the Function Command
message (if any) or to the state specified by the Good Operation Next State entry (if there
are no additional functions).
 If the terminal is directed to wait for the operation to complete, and the operation is
unsuccessful, the terminal stops the function processing. The terminal sends the network a
Solicited Status message indicating a fault, and remains in the Transaction Request state
while waiting for another Function Command message from the network.
 If the terminal is directed not to wait, the terminal goes immediately to the next operation
specified in the message without waiting for a successful completion to the current
operation. This type of operation allows the network to program for device operation overlap
during a transaction sequence.
NOTE
If a "do not wait" operation is unsuccessful, the terminal does not stop the function
processing and does not send the network a Solicited Status message indicating a
fault.
Instead, the terminal stores the device status and sends it to the network only after the
transaction is closed (as an unsolicited status). In effect, the terminal treats this type of
operation as completed whether or not a fault occurs.

Device Operation Overlap


If sequencing speed is important, the network can use device operation overlap during function
processing. However, the network programmer must consider carefully the sequence and number
of devices that are to operate simultaneously.

A "do not wait" operation causes the terminal to go immediately to the next operation specified in
the Function Command message, leaving the device to proceed with the operation. If the next
operation is a function that activates a device, then the two devices would operate simultaneously.
Additional devices can operate simultaneously if multiple "do not wait" operations are programmed.

6.5.2 After Hour Depository (AHb)

The format of the After Hour Depository Function Data entries is shown in Table 6-36. The After
Hour Depository Function Data directs the terminal to perform deposit operations only.

Table 6-36 After Hour Depository Function Data Format


Entry Valid Range
Group ID (Device ID) AH b
Unit Number 001
Operation 101
Screen Number Valid Screen Numbers
Consumer Response Time 000-255, 900-931, 999

The following paragraphs describe the entries for the After Hour Dispenser function data.

Group ID (Device ID)


Valid Range: AH b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the After Hour depository is AH b

Unit Number
Valid Range: 001
Description: The unit number for the After Hour depository Function Data must be 001.

Operation
Valid Range: 101
Description: The Operation entry tells the terminal which operation to perform. The only valid value
for the After Hour depository is 101; start the deposit operation and wait for the consumer to insert
the deposit material.

If the consumer does not insert the deposit material within the time specified by the Consumer
Response Time entry, the terminal shows the More Time screen and starts timer 01. If the
consumer answers No to this screen, or if timer 01 expires, the terminal sends the network a
timeout status. If the consumer answers Yes, the terminal restarts the deposit operation.

During the deposit operation, the terminal enables the Cancel key using either the default key or
network-defined Special Keys, whichever is current. The terminal voids the deposit operation if the
consumer presses the Cancel key before inserting the deposit material.

Screen Number
Valid Range: Valid screen numbers
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display while the terminal is performing the function.

The valid values are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry contains the amount of time that the terminal
waits for the consumer to respond to the screen shown on the consumer display.

The valid values are as follows:

 000 through 255 - Number of ticks (no beeping)


 900 through 931 - Configured timers 900 through 931
 999 - Wait at least three minutes

NOTE

The After Hour depository device has its own timer. If the consumer does not complete the
deposit within 15 minutes, the device times out. Agilis 3 91x then terminates the deposit
operation and reports a timeout status to the network.

6.5.3 Currency Acceptor (CIb) Function Data

The Currency Acceptor function directs the terminal to perform specific cash deposit operations.
The format of the Currency Acceptor function data entries is shown in Table 6-37. The Operation
entry in the function data determines which operation the terminal performs.

The function data can designate several buffers for storing the results of cash deposit transactions.
The following results can be stored:

 The total value of the deposited cash


 A currency code that identifies the currency type used in the transaction
 The individual denomination counts for the deposited cash
 If fraudulent note detection is enabled, amounts and denomination counts for counterfeit
and suspect notes detected during processing.

These buffers can be used to provide detailed transaction information to the network and for
displaying deposit information to the consumer during the transaction.

For more information on these buffers, refer to the detailed buffer descriptions that follow Table 6-
37.

On terminals using a currency acceptor, buffers 310 through 325, 342 through 345, 354, and 355
are reserved for system use, as described in the paragraphs labeled Additional Denomination
Data and Buffer Pair for Counterfeit Amount and Count in this section. When a currency
acceptor is installed and enabled at a terminal, the network programmer should use these reserved
buffers only as described for cash deposit transactions, and should not use these buffers for any
other type of transaction or function.

For an example transaction flow for cash deposit transactions, refer to the description of the
Currency Acceptor state (Section 5.5.3).

Table 6-37 Currency Acceptor Function Data Format


Entry Valid Range
Group ID (Device ID) CI b
Unit Number 001
Operation 101 - 109
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Retract Option 000 - 001
Screen 2 Valid screen numbers
Screen 3 Valid screen numbers
[1]
Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[1]
Currency Code Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Currency Code Buffer ID 2 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Counterfeit Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Counterfeit Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Suspect Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Suspect Count Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Reserved 000
[1]
For single-currency terminals, this entry is optional. For multiple-currency terminals, this entry is
required.
[2]
These entries are optional.

The following paragraphs describe the entries for the Currency Acceptor function data.

NOTE

In the following descriptions, configured currencies or denominations are those currencies


or denominations that the terminal is configured to accept (based on ACU or Write
Command 20 message configuration).

Group ID (Device ID)


Valid Range: CI b
Description: The Group ID (Device ID) entry identifies the specific device for which the following
function data applies. The only valid value for Currency Acceptor function data is CI b.

Unit Number
Valid Range: 001
Description: The unit number for the Currency Acceptor function data must be 001.

Operation
Valid Range: 101 through 109
Description: The Operation entry tells the terminal which operation to perform.

The following information describes Currency Acceptor operations for:

 Pocket style devices such as BNA and BCR


 Non-pocket style devices such as ENA and ECRM

Currency Acceptor Operations for Pocket Style Devices


The currency acceptor operations for pocket style devices, such as Bulk Cash Recycler (BCR)
and Bulk Note Acceptor (BNA) are discussed in this section.

NOTE
The currency acceptor operations for Enhanced Note Acceptor (ENA) and Enhanced Cash
Recycler Module (ECRM) are discussed in the later section.

101 (Cash Deposit). This operation is the first step of a cash deposit sequence. The shutter opens,
and monitoring for the insertion of cash starts. When cash is inserted, the operation is complete and
the Good Operation Next State exit is taken. The shutter remains opens.

Timeout of this operation is controlled by the Consumer Response Time entry. If cash is not
inserted in the allotted time, the terminal stores the Consumer Fault Next State entry for subsequent
processing, then takes the Good Operation Next State exit.

The Cancel key is enabled at the start of this operation. If the Cancel key is pressed, the terminal
stores the Cancel Next State entry for subsequent processing, then takes the Good Operation Next
State exit.

If there is cash in the input area at the start of this operation (and if the shutter is not already
open), then before the shutter opens, the terminal verifies the cash, places the cash in the
appropriate cassette(s), and reports an unsolicited Cash Retracted During Deposit status
(CI01:3F:32:31) to the network.

If there are items in the reject area at the start of this operation, the rejected items are retracted to
the appropriate cassette, and the terminal reports an unsolicited Cash Retracted During Deposit
status to the network.

NOTE

A Bulk Note Acceptor cannot retract items from its reject area. If there are items in the reject
area at the start of this operation (and if Cashguard is not in effect), the shutter opens and
reserved screen 007 displays to prompt the consumer to remove the rejected items.

For single-currency terminals, buffer IDs, screen 2, screen 3, and the Retract option do not apply to
this operation. Their respective entries do not need to be included.

For multiple-currency terminals, the currency code buffer (specified by the Currency Code Buffer ID
entry) determines which currency type(s) are enabled for the transaction. If the buffer does not
contain a valid currency code (for a configured currency) or *** , the terminal reports an Invalid Data
status (CI01:3E:40:34).

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios), the
first Cash Deposit operation determines the currency type(s) for the entire transaction (that is, until
the next Cash Retain, Cash Return, or Cash Clear operation, or the next Close state).

NOTE

For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal reports an Invalid Data status (CI01:3E:40:34).

For multiple-currency terminals, screen 2, screen 3, and the Retract option do not apply to this
operation, but the entries must be included.

102 (Cash Verify). The shutter closes. The inserted cash is verified, counted, and placed in escrow.
(If there is already cash in escrow, the newly verified cash is added to the cash already in escrow.)
Cumulative amounts and bill counts for the current transaction are written to buffers indicated by the
buffer ID entries included in the function data (for details, refer to the description for each buffer ID
entry). The Retract option does not apply to this operation, but the entry must be included. The
Cancel key is not enabled for this operation.

If the shutter cannot close at the start of the operation (for example, due to a blockage), the
terminal reports a Hardware Fault status (CI01:3A:39:39) and a Shutter Not Closed status
(CI01:3C:33:45) to the network.

If the input area and escrow are both empty at the start of the operation, the terminal reports a
No Media error (CI01:3F:31:31).

If there are too many bills in the input area at the start of the operation, the terminal makes no
attempt to verify any bills. The shutter opens and screen 3 displays to prompt the consumer to
remove the bills. After the consumer removes the bills, the shutter closes, and the terminal takes
the appropriate action (reports a No Media error if escrow is empty, otherwise sends a Ready
response to the network or goes to the next function specified in the message, as applicable).
Timeout for removing the bills is controlled by the Consumer Response Time entry.

If escrow becomes full before all the bills are verified, the shutter opens and screen 2 displays to
prompt the consumer to remove the excess bills. After the consumer removes the excess bills, the
shutter closes, and the terminal takes the Deposit Fault Next State exit. Timeout for removing the
excess bills is controlled by the Consumer Response Time entry.

If any bills or other items are rejected during verification, the rejected items are placed in the
reject area. After all the bills have been verified, the shutter opens, and screen 2 displays to prompt
the consumer to remove the rejected items. After the consumer removes the rejected items, the
shutter closes, and the terminal takes the appropriate action (reports an Escrow Full status if
escrow is full, reports a No Media error if escrow is empty, otherwise sends a Ready response to
the network or goes to the next function specified in the message, as applicable). Timeout for
removing the rejected items is controlled by the Consumer Response Time entry. If the rejected
items are not removed in the allotted time, the terminal automatically shows the More Time screen
and starts timer 01 (enhanced timer 901).

If a blockage in the input area prevents the processing of one or more bills, the shutter opens and
screen 3 displays to prompt the consumer to remove the bills. After the consumer removes the bills,
the shutter closes, and the terminal takes the appropriate action (reports an Escrow Full status if
escrow is full, reports a No Media error if escrow is empty, otherwise sends a Ready response to
the network or goes to the next function specified in the message, as applicable). Timeout for
removing the blocked bills is controlled by the Consumer Response Time entry.

NOTE

The Cash Verify operation must follow a Cash Deposit operation (from either a state or a
function command). Otherwise, an invalid sequence error is generated, and the terminal
reports a Network Fault status (CI01:3F:40:31).

103 (Cash Retain). The cash is moved from the escrow area and placed in the appropriate
cassette(s). Cumulative amounts and bill counts for the current transaction are written to buffers
indicated by the buffer ID entries included in the function data (for details, refer to the description for
each buffer ID entry).

The consumer response timeout, screen 2, screen 3, and Retract option do not apply to this
operation, but the entries must be included. The Cancel key is not enabled for this operation.
Cassette counts are updated according to the number and denomination of the notes during this
operation. Some cash-accepting devices re-validate currency at this time. For such devices, cash
moving from escrow to the bins may be skewed, shingled, or stuck together, making them
unverifiable during the retain operation, causing the cassette counts to reflect additional type 1
note(s) and a reduced count of type 4 notes.

NOTE

The Cash Retain operation must follow a Cash Verify operation (from either a state or a
function command). Otherwise, an invalid sequence error is generated, and the terminal
reports a Network Fault status (CI01:3F:40:31).

104 (Cash Return). If this operation is performed after a Cash Verify operation, the cash in the
escrow area is moved to the input area and the shutter opens. When the shutter opens screen 2
displays to prompt the consumer to remove the bills. After the bills have been removed, the shutter
closes.

If this operation is performed after a Cash Deposit operation, the shutter closes and the inserted
cash is verified and placed in escrow. If any items are rejected, the rejected items are returned to
the consumer. After the rejected items (if any) are removed, the cash in the escrow area is moved
to the input area and the shutter opens. Screen 2 displays to prompt the consumer to remove the
bills. After the bills have been removed, the shutter closes.

Timeout of this operation is controlled by the Consumer Response Time entry. If a timeout occurs,
the shutter closes, and a Consumer Timeout error (CI01:23:00:00) is reported to the network.

NOTE

A Bulk Note Acceptor cannot move cash to the input area if there are items in its reject area.
If there are items in the reject area at the start of this operation, then before the cash is
returned, the shutter opens and screen 2 displays to prompt the consumer to remove the
rejected items. After the items are removed, the terminal returns the escrowed cash to the
consumer.

The Retract option does not apply to this operation, but the entry must be included. Buffer IDs and
screen 3 do not apply to this operation. Their respective entries do not need to be included. The
Cancel key is not enabled for this operation.

105 (Cash Clear). The shutter closes if it is open. If there are any bills in the input area or in
escrow, the bills are combined and either placed in the appropriate cassettes or placed in the input
area, depending on the setting of the Retract option. The shutter remains closed during this
operation.

When bills are placed in the input area during Cash Clear operation, the cash is not accessible to
the consumer, because the shutter remains closed.

NOTE

A Bulk Note Acceptor cannot move cash to the input area if there are items in its reject area.
If there are items in the reject area when moving bills to the input area, the terminal reports a
Hardware Fault status (CI01:3A:39:39) without attempting to place the cash in the input area.
The consumer response time does not apply to this operation, but the entry must be included.
Buffer IDs, screen 2, and screen 3 do not apply to this operation. Their respective entries do not
need to be included. The Cancel key is not enabled for this operation.

106 (Insert Cash and Start Verify). An optional OK button can be used to allow the consumers to
indicate that they have inserted notes in the pocket style devices.

If optional OK button is not desired on the pocket style devices, the Insert Cash and Start
Verify operation is the first step of a cash deposit sequence of a Rapid (Parallel) Processing
transaction with the Cash First option. The shutter opens, and starts monitoring for insertion of
cash. When the note verification process starts, the operation is complete, and the terminal either
sends a Ready response to the network or goes to the next function specified in the message. The
terminal does not wait in this operation for the cash verification process to complete.

If optional OK button is desired on pocket style devices, the Insert Cash and Start Verify
operation is no longer an Insert Cash operation but only a Start Verify operation. In this case, the
Cash Deposit operation (CI 101) is the first step of a cash deposit sequence of a Rapid (Parallel)
Processing transaction with the Cash First option. Information Entry State @D or Select Function
State E prompts the consumer for input. If the consumer presses the OK button, the Start Verify
operation closes the shutter, and starts the note verification process. The operation is complete,
and the terminal sends a Ready response to the network or goes to the next function specified in
the message. The terminal does not wait in this operation for the cash verification process to
complete.

After that, the note verification process and rest of cash verification activities, such as filling buffers
and updating any counts are done in background. Once the cash is verified, it is counted and
placed in the escrow. If there is already cash in the escrow, the newly verified cash is added to the
cash already in the escrow. Cumulative amounts and bill counts for the current transaction are
written to buffers indicated by the buffer ID entries included in the state data (for details, refer to the
description for each buffer ID entry).

Timeout of this operation is controlled by the Consumer Response Time entry. Initially, the Cancel
key is enabled but when cash verification begins, the Cancel key is disabled and the function
terminates.

If the shutter cannot open at the start of the operation, the terminal reports a shutter not open
status to the network.

If the cash stack is too long or the shutter cannot close, the terminal will report a shutter not
closed status to the network.

If there is cash in the input area at the start of this operation (and if the shutter is not already
open), then before the shutter opens, the terminal verifies the cash, places the cash in the
appropriate cassette(s), and reports an unsolicited Cash Retracted during Deposit status
(CI01:3F:32:31) to the network.

If the input area and escrow are both empty at the start of the verify part of the operation, the
terminal reports a Ready status to the network. During the following CI107 operation, the terminal
will report a No Media error (CI01:3F:31:31).

A Bulk Note Acceptor cannot retract items from its reject area. If there are items in the reject area
at the start of this operation (and if Cash Guard is not in effect), the shutter opens and reserved
screen 007 displays to prompt the consumer to remove the rejected items.
For deposit more and add more cash scenarios, this operation can be called again after
Conditional Return Rejected Items using an Information Entry State @D. If the user selects Yes, the
state flow would return to the Insert Cash and Start Verify operation to add more cash or Operation
101 on a pocket style device if the optional OK button is desired. If this operation is called again
immediately without calling Conditional Return Rejected Items in between, then an invalid sequence
error is generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios),
the first Cash Deposit operation determines the currency type(s) for the entire transaction (that is,
until the next Confirm Cash Retained, Cash Return, or Cash Clear operation, or the next Close
state).

NOTE

For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal reports an Invalid Data status (CI01:3E:40:34).

The Retract option does not apply to this operation, but the entry must be included.

Any other errors or jams that occur during cash verification process are either sent as unsolicited
message or are found on the next operation Conditional Return Rejected Items.

NOTE

If Insert Cash and Start Verify operation is used out of sequence, that is, if retain operation is
in progress (called immediately after Retain Cash and Don't Wait operation) or used
immediately after CI operation 002, then an invalid sequence error is generated, and the
terminal reports a Network Fault status (CI01:3F:40:31).

107 (Conditional Return Rejected Items). The Conditional Return Rejected Items operation
monitors the cash verification process started in the Insert Cash and Start Verify operation. This
operation waits for the cash verification process to complete and, then returns rejected items if they
are available. The terminal presents any rejected items to the customer and displays a screen
informing the customer to remove the rejected items.

If rejected notes are unavailable, or once they are removed, this operation is complete. Also,
terminal takes appropriate actions based on the status of cash verification process.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

If escrow was filled before all the bills are verified, the shutter opens during this operation and
screen 2 displays to prompt the consumer to remove the excess bills. After the consumer removes
the excess bills during this operation, the shutter closes, and the terminal reports an Escrow Full
status (CI01:3F:31:34). Timeout for removing the excess bills is controlled by the Consumer
Response Time entry.

If any bills or other items are rejected during verification, the rejected items are placed in the
reject area. After all the bills have been verified, and this operation is called, the shutter opens, and
the screen 2 displays to prompt the consumer to remove the rejected items. After the consumer
removes the rejected items, the shutter closes, and the terminal takes the appropriate action
(reports an Escrow Full status if escrow is full, reports a No Media error if escrow is empty,
otherwise sends a Ready response to the network or goes to the next function specified in the
message). Timeout for removing the rejected items is controlled by the Consumer Response Time
entry. If the rejected items are not removed in the allotted time, the terminal automatically shows the
More Time screen and starts timer 01 (enhanced timer 901). If rejected items are not taken even
after the More Time timeout, the shutter is closed.

If the shutter cannot close after the consumer remove the rejected items (for example, due to a
blockage), the terminal reports a hardware fault status and a shutter not closed status to the
network.

If a blockage in the input area (for example, bills that cannot be picked from the input area) prevents
the processing of one or more bills, when this operation is called, the shutter opens and the screen
3 displays to prompt the consumer to remove the bills. After the consumer removes the bills, the
shutter closes, and the terminal takes the appropriate action (reports an Escrow Full status if the
escrow is full, reports a No Media error if the escrow is empty, otherwise sends a Ready response
to the network or goes to the next function specified in the message). Timeout for removing the
blocked bills is controlled by the Consumer Response Time entry.

If the input area and escrow are both empty at the start of the operation, the terminal will report a
No Media error (CI01:3F:31:31).

If there are too many bills in the input area, the shutter opens, and the screen 3 displays to
prompt the consumer to remove the bills. After the consumer removes the bills, the shutter closes,
and the terminal takes the appropriate action (reports a No Media error if escrow is empty,
otherwise sends a Ready response to the network or goes to the next function specified in the
message). Timeout for removing the bills is controlled by the Consumer Response Time entry.

NOTE

The Conditional Return Rejected Items operation must follow an Insert Cash and Start Verify
operation (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

108 (Retain Cash and Don't Wait). The Retain Cash and Don't Wait operation begins performing
the cash retain operation, and immediately exits from this operation.

This operation also writes the cumulative amounts and bill counts for the current transaction to
buffers indicated by the buffer ID entries included in the state data. The consumer response
timeout, screen 2, screen 3, and the Retract option do not apply to this operation, but the entries
must be included. The Cancel key is not enabled for this operation.

Any errors or jams that occur are either sent as unsolicited messages or found on the next
operation (Confirm Cash Retained).

NOTE

The Retain Cash and Don't Wait operation must follow a Conditional Return Rejected Items
operation (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

109 (Confirm Cash Retained). The Confirm Cash Retained operation checks for the completion of
the cash retaining process that was started in Retain Cash and Don't Wait operation. If cash
retaining process is over, this operation is complete. Otherwise state waits in this operation for cash
retaining to complete before proceeding.
Confirm Cash Retained operation is needed to ensure that terminal waits for the completion of cash
retaining process, started in the Retain Cash and Don't Wait operation, before closing the
transaction. Based on the status of cash retain activity, terminal takes appropriate actions.

The consumer response timeout, screen 2, screen 3, and the Retract option do not apply to this
operation, but the entries must be included. The Cancel key is not enabled for this operation.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

NOTE

The Confirm Cash Retained operation must follow a Retain Cash and Don't Wait operation
(from either a state or a function command). Otherwise, an invalid sequence error is
generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

Currency Acceptor Operations for Non-pocket Style Devices


The currency acceptor operations for non-pocket style devices, such as Enhanced Note Acceptor
(ENA) and Enhanced Cash Recycler Module (ECRM) are:

101 (Cash Deposit). This operation is the first step of a cash deposit sequence. Agilis 3 91x stores
the following function data entries for use during the Cash Verify operation:

 Screen Number
 Consumer Response Time

Agilis 3 91x does not display the screen specified in the Screen Number entry during the Cash
Deposit operation. The operation completes successfully unless a network fault occurs or a
hardware fault exists at the start of the operation.

Normally, an non-pocket style device does not perform any action for this operation. However, if
there is cash or rejected items presented at the start of this operation, and if escrow is empty, the
terminal retracts the cash (or rejects), places the cash (or rejects) in the retract cassette, and
reports an unsolicited Cash Retracted During Deposit status (CI01:3F:32:31) to the network.

For single-currency terminals, buffer IDs, screen 2, screen 3, and the Retract option do not apply to
this operation. Their respective entries do not need to be included.

For multiple-currency terminals, the currency code buffer (specified by the Currency Code Buffer ID
entry) determines which currency type(s) are allowed for the transaction. If the buffer does not
contain a valid currency code (for a configured currency) or *** , the terminal reports an Invalid Data
status (CI01:3E:40:34).

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios), the
first Cash Deposit operation determines the currency type(s) for the entire transaction (that is, until
the next Cash Retain, Cash Return, or Cash Clear operation, or the next Close state).

NOTE

For multiple Cash Deposit operations during a transaction, the additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal reports an Invalid Data status (CI01:3E:40:34).
For multiple-currency terminals, screen 2, screen 3, and the Retract option do not apply to this
operation, but the entries must be included.

102 (Cash Verify). The shutter opens, and the terminal waits for the consumer to insert a stack of
bills. As soon as the terminal detects the insertion of cash, the inserted cash is drawn into the
device, and the cash is verified, counted, and placed in escrow.

At the start of cash insertion, the terminal displays the screen specified in the function data for the
Cash Deposit operation (Screen Number entry). Timeout for cash insertion is controlled by the
Consumer Response Time entry from the function data for the Cash Deposit operation. The Cancel
key is enabled.

NOTE

If the consumer response time specified in the function data for the Cash Deposit operation
is 000, the terminal uses timer 904 as the timeout for cash insertion.

If there are rejected items presented at the start of cash insertion, screen 2 displays to prompt the
consumer to remove the rejected items. After the consumer removes the rejected items, the
terminal proceeds with the cash insertion process.

When cash verification begins, the Cancel key is disabled, and the terminal displays the screen
specified in the function data for the Cash Verify operation. The inserted cash is drawn into the
device, verified, counted, and placed in escrow. (If there is already cash in escrow, the newly
verified cash is added to the cash already in escrow.) Cumulative amounts and bill counts for the
current transaction are written to buffers indicated by the buffer ID entries included in the function
data (for details, refer to the description for each buffer ID entry).

If the shutter cannot close at the start of cash verification (for example, due to a jammed shutter),
the terminal reports a Hardware Fault status (CI01:3A:39:39) and a Shutter Not Closed status
(CI01:3C:33:35) to the network.

If the cash stack is too long (preventing the shutter from closing), the terminal makes no attempt
to verify any bills. The stack of bills is returned to the consumer, and screen 3 displays to prompt
the consumer to remove the bills. After the consumer removes the bills, the terminal takes the
appropriate action (reports a No Media error if escrow is empty, otherwise sends a Ready response
to the network or goes to the next function specified in the message, as applicable). Timeout for
removing the bills is controlled by the Consumer Response Time entry.

If escrow becomes full before all the bills are verified, the excess bills are returned to the
consumer. When the excess bills are presented to the consumer, screen 2 displays to prompt the
consumer to remove the excess bills. After the consumer removes the excess bills, the terminal
reports an Escrow Full status (CI01:3F:31:34). Timeout for removing the excess bills is controlled by
the Consumer Response Time entry.

If any bills or other items are rejected during cash verification, the rejected items are returned to
the consumer after all the cash has been verified. When the rejected items are presented to the
consumer, screen 2 displays to prompt the consumer to remove the rejected items. After the
consumer removes the rejected items, the terminal takes the appropriate action (reports an Escrow
Full status if escrow is full, reports a No Media error if escrow is empty, otherwise sends a Ready
response to the network or goes to the next function specified in the message, as applicable).
Timeout for removing the rejected items is controlled by the Consumer Response Time entry. If the
rejected items are not removed in the allotted time, the terminal automatically shows the More Time
screen and starts timer 01 (enhanced timer 901).
If a blockage in the input area prevents the processing of one or more bills, the unprocessed bills
are returned to the consumer. When the unprocessed bills are presented to the consumer, screen 3
displays to prompt the consumer to remove the unprocessed bills. After the consumer removes the
unprocessed bills, the terminal takes the appropriate action (reports an Escrow Full status if escrow
is full, reports a No Media error if escrow is empty, otherwise sends a Ready response to the
network or goes to the next function specified in the message, as applicable). Timeout for removing
the blocked bills is controlled by the Consumer Response Time entry.

The Retract option does not apply to this operation, but the entry must be included.

NOTE

The Cash Verify operation must follow a Cash Deposit operation. Also, both operations must
function-based or both operations must be state-based (Section 5.5.3). Otherwise, an invalid
sequence error is generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

103 (Cash Retain). If there are bills in escrow, the bills are moved from the escrow area and placed
in the appropriate cassette(s). Cumulative amounts and bill counts for the current transaction are
written to buffers indicated by the buffer ID entries included in the function data (for details, refer to
the description for each buffer ID entry).

The consumer response timeout, screen 2, screen 3, and Retract option do not apply to this
operation, but the entries must be included. The Cancel key is not enabled for this operation.

Cassette counts are updated according to the number and denomination of the notes during this
operation. Some cash-accepting devices re-validate currency at this time. For such devices, cash
moving from escrow to the bins may be skewed, shingled, or stuck together, making them
unverifiable during the retain operation, causing the cassette counts to reflect additional type 1
note(s) and a reduced count of type 4 notes.

NOTE

The Cash Retain operation must follow a Cash Verify operation (from either a state or a
function command). Otherwise, an invalid sequence error is generated, and the terminal
reports a Network Fault status (CI01:3F:40:31).

104 (Cash Return). If there are bills in escrow, the bills are moved to the input area and presented
to the consumer. When the bills are presented, screen 2 displays to prompt the consumer to
remove the bills. After the bills have been removed, the shutter closes. Timeout of this operation is
controlled by the Consumer Response Time entry. If a timeout occurs, the bills remain presented,
and a Consumer Timeout error (CI01:23:00:00) is reported to the network.

NOTE

The ENA and ECRM cannot return cash to the consumer while there are rejected items
waiting for the consumer to remove them. If there are rejected items already presented at the
start of this operation, then before the cash is returned, screen 2 displays to prompt the
consumer to remove the rejected items. After the rejected items are removed, the terminal
returns the escrowed cash to the consumer.

The Retract option does not apply to this operation, but the entry must be included. Buffer IDs and
screen 3 do not apply to this operation. Their respective entries do not need to be included. The
Cancel key is not enabled for this operation.
105 (Cash Clear). If there are any bills in escrow, on the transport, or presented, the bills are either
placed in the retract cassette or placed on the transport behind the shutter, depending on the
setting of the Retract option.

If the shutter is closed at the start of this operation, it remains closed. If the shutter is open, it closes
at the start of the operation, unless there are bills that are currently presented. If there are
presented bills, the shutter closes after those bills have been placed in the appropriate cassette(s)
or on the transport, as applicable.

When the Retract option is 000 (place bills in the appropriate cassette(s)), any bills in escrow, on
the transport, or presented out the front are placed in the retract cassette.

When the Retract option is 001 (place bills on the transport), the following pre-conditions affect the
behavior of the operation:

 Bills in escrow only - The bills are moved to the transport.


 Bills on the transport only - The bills are not moved.
 Presented bills only - The bills are retracted behind the shutter.
 Bills in escrow and bills on the transport - The bills on the transport are not moved. The bills
in escrow remain in escrow.
 Bills in escrow and presented bills - The presented bills are retracted behind the shutter.
The bills in escrow remain in escrow.

Bills that are placed on the transport are not accessible to the consumer, because the shutter is
closed.

The consumer response time does not apply to this operation, but the entry must be included.
Buffer IDs, screen 2, and screen 3 do not apply to this operation. Their respective entries do not
need to be included. The Cancel key is not enabled for this operation.

106 (Insert Cash and Start Verify). The Insert Cash and Start Verify operation is the first step of a
cash deposit sequence for a Rapid (Parallel) Processing transaction with a Cash First option. The
shutter opens, and starts monitoring for the insertion of cash. As soon as terminal detects insertion
of cash, the shutter closes. When the note verification process starts, the operation is complete, and
the terminal either sends a Ready response to the network or goes to the next function specified in
the message. The terminal does not wait in this operation for cash verification process to complete.

If Cash Deposit (CI 101) operation is used before the Insert Cash and Start Verify operation, then
the Cash Deposit operation is Do Nothing operation and the device does not perform any action in
Cash Deposit operation.

Timeout of this operation is controlled by the Consumer Response Time entry. Initially, the Cancel
key is enabled but when cash verification begins, the Cancel key is disabled and the function
terminates.

If the shutter cannot open at the start of the operation (for example, due to a blockage), the
terminal reports a shutter not open status to the network.

If the cash stack is too long (preventing the shutter from closing), the terminal sends a Ready
response to the network and goes to the next function specified in the message. During the OP107
processing, the stack of bills will be returned to the consumer, and the screen 3 displayed to prompt
the consumer to remove the bills.

If there is cash or rejected items presented at the start of this operation, and if escrow is empty,
the terminal retracts the cash (or rejects), places the cash (or rejects) in the retract cassette, and
reports an unsolicited Cash Retracted during Deposit status (CI01:3F:32:31) to the network. If there
are items in the consumer interface at the start of this operation, the items are retracted to the
appropriate cassette, and the terminal reports an unsolicited Cash Retracted during Deposit status
to the network.

For deposit more and add more cash scenarios, this operation can be called again after
Conditional Return Rejected Items using Information Entry State @D. If the user selects Yes, the
state flow would return to the Insert Cash and Start Verify operation to add more cash or Operation
101 on a pocket style device if the optional OK button is desired. If this operation is called again
immediately without calling Conditional Return Rejected Items in between, then an invalid sequence
error is generated, and the terminal reports a Network Fault status (CI01:3F:40:31)

If multiple Cash Deposit operations occur during a single transaction (add-to-deposit scenarios),
the first Cash Deposit operation determines the currency type(s) for the entire transaction (that is,
until the next Confirm Cash Retained, Cash Return, or Cash Clear operation, or the next Close
state).

NOTE

For multiple Cash Deposit operations during a transaction, additional Cash Deposit
operations must use the same currency type (or three space characters). Otherwise, the
terminal reports an Invalid Data Status (CI01:3E:40:34).

The Retract option does not apply to this operation, but the entry must be included.

Any other errors or jams that occur during the cash verification process are either sent as
unsolicited message or are found on the next operation (Conditional Return Rejected Items).

NOTE

If Insert Cash and Start Verify operation is used out of sequence, that is, if retain operation is
in progress (called immediately after Retain Cash and Don't Wait operation) or used
immediately after CI operation 002, then an invalid sequence error is generated, and the
terminal reports a Network Fault status (CI01:3F:40:31).

107 (Conditional Return Rejected Items). The Conditional Return Rejected Items operation
monitors the cash verification process started in the Insert Cash and Start Verify operation. This
operation waits for cash verification process to complete and, then returns rejected items if they are
available. The terminal presents any rejected items to the customer and displays a screen informing
the customer to remove the rejected items.

Buffer IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

If rejected notes are unavailable, or once they are removed, this operation is complete. Also,
terminal takes appropriate actions based on the status of cash verification process.

If escrow was filled before all the bills are verified, the shutter opens during this operation and
screen 2 displays to prompt the consumer to remove the excess bills. After the consumer removes
the excess bills during this operation, the shutter closes, and the terminal reports an Escrow Full
status (CI01:3F:31:34). Timeout for removing the excess bills is controlled by the Consumer
Response Time entry.

If any bills or other items are rejected during verification, the rejected items are placed in the
reject area. After all the bills have been verified, and this operation is called, the shutter opens, and
the screen 2 displays to prompt the consumer to remove the rejected items. After the consumer
removes the rejected items, the shutter closes, and the terminal takes the appropriate action
(reports an Escrow Full status if escrow is full, reports a No Media error if escrow is empty,
otherwise sends a Ready response to the network or goes to the next function specified in the
message). Timeout for removing the rejected items is controlled by the Consumer Response Time
entry. If the rejected items are not removed in the allotted time, the terminal automatically shows the
More Time screen and starts timer 01 (enhanced timer 901). If rejected items are not taken even
after the More Time timeout, they are retracted based on the retract option. If the shutter cannot
close after the consumer removes the rejected items (for example, due to a blockage), the terminal
reports a hardware fault status and a shutter not closed status to the network.

If a blockage in the input area (for example bills that cannot be picked from the input area)
prevents the processing of one or more bills when this operation is called, the shutter opens and the
screen 3 displays to prompt the consumer to remove the bills. After the consumer removes the bills,
the shutter closes, and the terminal takes the appropriate action (reports an Escrow Full status if the
escrow is full, reports a No Media error if the escrow is empty, otherwise sends a Ready response
to the network or goes to the next function specified in the message). Timeout for removing the
blocked bills is controlled by the Consumer Response Time entry.

The Conditional Return Rejected Items operation must follow an Insert Cash and Start Verify
operation (from either a state or a function command). Otherwise, an invalid sequence error is
generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

108 (Retain Cash and Don't Wait). The Retain Cash and Don't Wait operation begins performing
the cash retain operation, and immediately exits from this operation.

This operation also writes the cumulative amounts and bill counts for the current transaction to
buffers indicated by the buffer ID entries included in the state data. The consumer response
timeout, screen 2, screen 3, and the Retract option do not apply to this operation, but the entries
must be included. The Cancel key is not enabled for this operation.

Any errors or jams that occur are either sent as unsolicited messages or found on the next
operation (Confirm Cash Retained).

NOTE

The Retain Cash and Don't Wait operation must follow a Conditional Return Rejected Items
operation (from either a state or a function command). Otherwise, an invalid sequence error
is generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

109 (Confirm Cash Retained). The Confirm Cash Retained operation checks for the completion of
the cash retaining process that was started in Retain Cash and Don't Wait operation. If cash
retaining process is over, this operation is complete. Otherwise state waits in this operation for cash
retaining to complete before proceeding.

Confirm Cash Retained operation is needed to ensure that terminal waits for the completion of cash
retaining process, started in the Retain Cash and Don't Wait operation, before closing the
transaction. Based on the status of cash retain activity, terminal takes appropriate actions.
The consumer response timeout, screen 2, screen 3, and the Retract option do not apply to this
operation, but the entries must be included. The Cancel key is not enabled for this operation. Buffer
IDs do not apply to this operation. It is not necessary to include the Buffer ID entries.

NOTE

The Confirm Cash Retained operation must follow a Retain Cash and Don't Wait operation
(from either a state or a function command). Otherwise, an invalid sequence error is
generated, and the terminal reports a Network Fault status (CI01:3F:40:31).

Screen Number
Valid Range: Valid screen numbers
Description: The Screen Number entry specifies the number of the screen that appears on the
consumer display while the terminal is performing the function. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to insert or remove bills, as applicable. If the time expires before the
consumer inserts or removes the bills, the terminal reports a Consumer Timeout status
(CI01:23:00:00). The valid values for this entry are as follows:
 000 - Immediately send a Ready response to the network or go to the next function
specified in the message, as applicable
 001 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait forever (no beeping)

When timer 904 is used, if the time expires before the consumer responds, the terminal shows the
More Time screen and starts timer 01 (enhanced timer 901). If timer 01 then expires, the terminal
reports the Consumer Timeout status.

Retract Option
Valid Range: 000 through 001
Description: The retract option specifies what to do with the consumer's cash during a Cash Clear
operation. The valid values are as follows:
 000 - The cash is to be placed in the appropriate cassette(s).
 001 - The cash is to be placed in the input area.

NOTE

At present, the Bulk Cash Recycler or Enhanced Cash Recycler Module do not support
placing the cash in the input area for a Cash Clear operation. If a BCR or ECRM is
commanded to perform this action, the device rejects the command. The terminal then
reports a Command Reject error (CI01:30:35:30) to the network and takes the Network Fault
Next State exit.
Screen 2
Valid Range: Valid screen numbers
Description: The Screen 2 entry specifies the number of the screen that appears on the consumer
display when the currency acceptor has returned bills to the input area for one of the following
reasons:
 The escrow area became full before or during a Cash Verify operation.
 Escrow cash is being returned during a Cash Return operation.
 Items were rejected and are being returned during a Cash Verify operation.

Screen 2 should prompt the consumer to immediately collect any returned bills while the shutter is
open. The valid values for this entry are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Screen 3
Valid Range: Valid screen numbers
Description: The Screen 3 entry specifies the number of the screen that appears on the consumer
display when any one of the following circumstances exist during a Cash Verify operation:
 There are too many bills in the input area at the start of the operation.
 There is a blockage in the input area that prevents the currency acceptor from verifying the
bills.

Screen 3 should inform the consumer that an error occurred, and prompt the consumer to remove
the bills. The valid values for this entry are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Amount Buffer ID
Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353

Description: The Amount Buffer ID entry indicates the buffer(s) where the cumulative transaction
amount(s) are to be written during a Cash Verify operation or a Cash Retain operation. For single-
currency terminals, this entry is optional (however, if subsequent entries are included in the function
data, this entry must be present). For multiple-currency terminals, this entry is required.

The Amount Buffer ID entry points either to an amount buffer (if a single currency is allowed) or to a
buffer list that specifies multiple amount buffers (if all currencies are allowed). (For an explanation of
how the terminal determines which currencies are allowed for a transaction, refer to the description
of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Amount Buffer ID
entry must contain a single valid buffer number or 000. If a valid buffer number is specified, the
cumulative transaction amount is written to the specified buffer. If 000 is specified for the buffer ID,
the cumulative transaction amount is not written to a buffer.
All currencies allowed. If all configured currencies are allowed for the transaction, the Amount
Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a valid
buffer number or 000 for each currency that the currency acceptor is capable of recognizing.
The buffers correspond, in order, to the currencies listed in the Hardware Configuration status data
for the currency acceptor. The buffer numbers must be separated by spaces (for example, 256 b
257 b 258 b 000). The cumulative transaction amount for each currency is written to the
corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the cumulative
transaction amount for the corresponding currency is not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative transaction amounts. The cumulative transaction amount for a currency includes the
total value of genuine (category 4) bills of that currency that were verified or retained during the
transaction. If the Suspect Counterfeit Note Identification option (ACU) is set to Regular, the amount
also includes the amount of suspect (category 3) bills of that currency (if any suspect bills are
detected). If the option is set to Counterfeit, the amount does not include the suspect bills.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Currency Code Buffer ID


Valid Range: 000 (single-currency terminals only), 065 through 090, 256 through 309, 326 through
341, and 346 through 353

Description: The Currency Code Buffer ID entry specifies the buffer that indicates the currency or
currencies used for the current transaction. The currency codes are three-character ISO 4217
currency codes (for example, 'USD' for U.S. dollars).

Single-currency terminals. A single-currency terminal is a terminal that has only a single


configured currency. For single-currency terminals, the Currency Code Buffer ID entry is optional.
(However, if subsequent entries are included in the function data, the Currency Code Buffer ID
entry must be present.) During Cash Verify operations and Cash Retain operations, Agilis 3 91x
writes the corresponding currency code to the specified buffer. If the value in the Currency Code
Buffer ID entry is 000, the currency code is not written to a buffer.

Multiple-currency terminals. A multiple-currency terminal is a terminal that has more than one
configured currency. During Cash Deposit operations, Agilis 3 91x reads the currency code buffer to
determine which currency or currencies to allow for the current transaction. The network
programmer is responsible for ensuring that the correct currency code (or *** ) is written to the
buffer before starting the Cash Deposit operation. The currency code must represent a currency
type that the currency acceptor is capable of recognizing and the terminal is configured to accept.
Otherwise, a network fault is generated.

To allow a single currency for a transaction, the buffer specified for the Cash Deposit operation
must contain one (and only one) currency code. During Cash Verify operations and Cash Retain
operations, Agilis 3 91x writes the corresponding currency code to the buffer specified for the Cash
Verify or Cash Retain operation (as applicable).
To allow all configured currencies for a transaction, the buffer specified for the Cash Deposit
operation must contain *** (three asterisks). This specification directs the terminal to accept all
configured currencies in a single transaction, including stacks containing a mixture of currencies.
During Cash Verify operations and Cash Retain operations, if any valid bills have been verified,
Agilis 3 91x writes a list of currencies to the buffer specified for the Cash Verify or Cash Retain
operation (as applicable). The list of currencies includes all currencies that the currency acceptor is
capable of recognizing, whether configured or not. The currencies are listed in the same order as in
the Hardware Configuration status data for the currency acceptor (alphabetical order), and are
separated by spaces (for example, CAD b EUR b USD). If no valid bills have been verified (for
example, if all the inserted items are rejected), Agilis 3 91x writes 23 space characters to the buffer.

NOTE

It is recommended that separate currency code buffers be used for the Cash Deposit
operation versus the Cash Verify and Cash Retain operations. If a single buffer is used for all
operations, undesirable consequences can result in some cases from Agilis 3 91x
overwriting the buffer contents during add-to-deposit scenarios or error recovery.

NOTE

The following entry (Count Buffer ID) is optional. If an institution does not require the bill
counts (and if subsequent entries are not included in the function data), the network
programmer does not need to include this entry in the function data.

Count Buffer ID
Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353

Description: The Count Buffer ID entry indicates the buffer(s) where the cumulative bill counts are
to be written during a Cash Verify operation or a Cash Retain operation. This entry points either to a
count buffer (if a single currency is allowed) or to a buffer list that specifies multiple count buffers (if
all currencies are allowed). (For an explanation of how the terminal determines which currencies are
allowed for a transaction, refer to the description of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Count Buffer ID
entry must contain a single valid buffer number or 000. If a valid buffer number is specified, the
cumulative bill counts are written to the specified buffer. If 000 is specified for the buffer ID, the
cumulative bill counts are not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Count
Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a valid
buffer number or 000 for each currency that the currency acceptor is capable of recognizing.
The buffers correspond, in order, to the currencies listed in the Hardware Configuration status data
for the currency acceptor. The buffer numbers must be separated by spaces (for example, 256 b
257 b 258 b 000). The cumulative bill counts for each currency are written to the corresponding
buffer. If 000 is specified for one of the buffers in the buffer list, the cumulative bill counts for the
corresponding currency are not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative bill counts. A separate bill count is maintained for each denomination of a currency.
The cumulative bill count for a denomination includes the count of genuine (category 4) bills of that
denomination that were verified or retained during the transaction. If the Suspect Counterfeit Note
Identification option (ACU) is set to Regular, each bill count also includes the count of suspect
(category 3) bills of that denomination (if any suspect bills are detected). If the option is set to
Counterfeit, the bill count does not include the suspect bills.

Count buffer format (single currency allowed). Each count buffer stores the bill counts for all the
configured denominations of a given currency. Each count buffer is 44 bytes in length and stores up
to ten distinct 3-byte bill counts (one bill count for each denomination), with all remaining bytes set
to zero. The bill counts are stored in the buffer in descending order from the highest-value
denomination to the lowest-value denomination. Refer to the example for clarification.

If the cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

EXAMPLE

Suppose the terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-dollar
denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar bills,
and one 50-dollar bill. At the end of the Cash Verify operation, the specified count buffer contains
the following information:

00100200000400000000000000000000000000000000

Where (from left to right):

 001 is the bill count for the 50-dollar denomination


 002 is the bill count for the 20-dollar denomination
 000 is the bill count for the 10-dollar denomination
 004 is the bill count for the 5-dollar denomination

All remaining bytes are set to zero.

Count buffer format (all currencies allowed). Each count buffer stores the bill counts for a given
currency. The bill count data written to each count buffer has the following format:

DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN ...

Each DDDDDDDDDD is a 10-digit number representing one of the configured denominations for
the currency. The last two or three digits of the denomination represent the decimal amount (based
on Write Command 3 message configuration). Each NNN is the three-digit bill count for the
preceding denomination (DDDDDDDDDD). Only denominations with a non-zero cumulative bill
count are included in the bill count data.

If the bill counts for a given currency are zero for all denominations, the corresponding count buffer
is empty (zero length).

If 000 is specified for a buffer ID, the bill counts for the corresponding currency are not written to a
buffer.
EXAMPLE

Suppose that all currencies are allowed for a transaction, and that one of the configured currencies
is U.S. dollars. The terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-
dollar denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar
bills, and one 50-dollar bill. At the end of the Cash Verify operation, the count buffer for the U.S.
currency contains the following information:

0000005000
b 001
b 0000002000
b 002
b 0000000500
b 004

Where (from left to right):

 0000005000 represents the 50-dollar denomination


 001 is the bill count for the 50-dollar denomination
 0000002000 represents the 20-dollar denomination
 002 is the bill count for the 20-dollar denomination
 0000000500 represents the 5-dollar denomination
 004 is the bill count for the 5-dollar denomination

The 10-dollar denomination is not represented in the bill count data because the cumulative bill
count for that denomination is zero.

NOTE

The following optional entries can be included in the function data. If an institution does not
require this data, the network programmer does not need to include these entries in the
function data.

Currency Code Buffer ID 2


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: During Cash Verify and Cash Retain operations, Agilis 3 91x writes the currency
code(s) for the transaction to the specified buffer. The data written to this buffer is the same as the
data in the buffer specified by the Currency Code Buffer ID entry, described previously.

If the value in this entry is 000, the currency code data is not written to a buffer.

NOTE

If fraudulent note detection is disabled, the terminal ignores the following four entries
(Counterfeit Amount Buffer ID, Counterfeit Count Buffer ID, Suspect Amount Buffer ID, and
Suspect Count Buffer ID).

Counterfeit Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Counterfeit Amount Buffer ID entry indicates the buffer(s) where the cumulative
counterfeit amount(s) are to be written during a Cash Verify operation or a Cash Retain operation (if
any counterfeit bills are detected). This entry points either to an amount buffer (if a single currency
is allowed) or to a buffer list that specifies multiple amount buffers (if all currencies are allowed).
(For an explanation of how the terminal determines which currencies are allowed for a transaction,
refer to the description of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Counterfeit Amount
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative counterfeit amount is written to the specified buffer. If 000 is specified for
the buffer ID, the cumulative counterfeit amount is not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Counterfeit
Amount Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative counterfeit amount for each currency
is written to the corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the
cumulative counterfeit amount for the corresponding currency is not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative counterfeit amounts. The cumulative counterfeit amount for a currency is the total
amount of counterfeit (category 2) bills of that currency that were verified or retained during the
transaction.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Counterfeit Count Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Counterfeit Count Buffer ID entry indicates the buffer(s) where the cumulative
counterfeit bill counts are to be written during a Cash Verify operation or a Cash Retain operation (if
any counterfeit bills are detected). This entry points either to a count buffer (if a single currency is
allowed) or to a buffer list that specifies multiple count buffers (if all currencies are allowed). (For an
explanation of how the terminal determines which currencies are allowed for a transaction, refer to
the description of the Currency Code Buffer ID entry.)

Single currency allowed. If a single currency is allowed for the transaction, the Counterfeit Count
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative counterfeit bill counts are written to the specified buffer. If 000 is specified
for the buffer ID, the cumulative counterfeit bill counts are not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Counterfeit
Count Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative counterfeit bill counts for each
currency are written to the corresponding buffer. If 000 is specified for one of the buffers in the
buffer list, the cumulative counterfeit bill counts for the corresponding currency are not written to a
buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative counterfeit bill counts. A separate counterfeit bill count is maintained for each
denomination of a currency. The cumulative counterfeit bill count for a denomination is the count of
counterfeit (category 2) bills of that denomination that were verified or retained during the
transaction.

Count buffer format (single currency allowed). Each count buffer stores the counterfeit bill
counts for all the configured denominations of a given currency. Each count buffer is 44 bytes in
length and stores up to ten distinct 3-byte bill counts (one bill count for each denomination), with all
remaining bytes set to zero. The bill counts are stored in the buffer in descending order from the
highest-value denomination to the lowest-value denomination.

If the cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

For an example of this buffer format, refer to the paragraphs labeled Count buffer format (single
currency allowed) in the description of the Count Buffer ID entry.

Count buffer format (all currencies allowed). Each count buffer stores the counterfeit bill counts
for a given currency. The bill count data written to each count buffer has the following format:

DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN ...

Each DDDDDDDDDD is a 10-digit number representing one of the configured denominations for
the currency. Each NNN is the three-digit bill count for the preceding denomination
(DDDDDDDDDD). Only denominations with a non-zero cumulative counterfeit bill count are
included in the bill count data.

For additional details and an example of this buffer format, refer to the paragraphs labeled Count
buffer format (all currencies allowed) in the description of the Count Buffer ID entry.

Suspect Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Suspect Amount Buffer ID entry indicates the buffer(s) where the cumulative
suspect amount(s) are to be written during a Cash Verify operation or a Cash Retain operation (if
any suspect bills are detected). This entry points either to an amount buffer (if a single currency is
allowed) or to a buffer list that specifies multiple amount buffers (if all currencies are allowed). (For
an explanation of how the terminal determines which currencies are allowed for a transaction, refer
to the description of the Currency Code Buffer ID entry.)

NOTE
The cumulative suspect amount written to one of these buffers is the total value of suspect
(category 3) bills for that currency, regardless of the setting of the Suspect Counterfeit Note
Identification option (ACU).

Single currency allowed. If a single currency is allowed for the transaction, the Suspect Amount
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative suspect amount is written to the specified buffer. If 000 is specified for the
buffer ID, the cumulative suspect amount is not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Suspect
Amount Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative suspect amount for each currency is
written to the corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the
cumulative suspect amount for the corresponding currency is not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative suspect amounts. The cumulative suspect amount for a currency is the total amount
of suspect (category 3) bills of that currency that were verified or retained during the transaction.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Suspect Count Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341, and 346 through 353
Description: The Suspect Count Buffer ID entry indicates the buffer(s) where the cumulative
suspect bill counts are to be written during a Cash Verify operation or a Cash Retain operation (if
any suspect bills are detected). This entry points either to a count buffer (if a single currency is
allowed) or to a buffer list that specifies multiple count buffers (if all currencies are allowed). (For an
explanation of how the terminal determines which currencies are allowed for a transaction, refer to
the description of the Currency Code Buffer ID entry.)

NOTE

The cumulative suspect count written to one of these buffers is the total count of suspect
(category 3) bills for that currency, regardless of the setting of the Suspect Counterfeit Note
Identification option (ACU).

Single currency allowed. If a single currency is allowed for the transaction, the Suspect Count
Buffer ID entry must contain a single valid buffer number or 000. If a valid buffer number is
specified, the cumulative suspect bill counts are written to the specified buffer. If 000 is specified for
the buffer ID, the cumulative suspect bill counts are not written to a buffer.

All currencies allowed. If all configured currencies are allowed for the transaction, the Suspect
Count Buffer ID entry must specify a buffer that contains a buffer list. The buffer list must include a
valid buffer number or 000 for each currency that the currency acceptor is capable of
recognizing. The buffers correspond, in order, to the currencies listed in the Hardware
Configuration status data for the currency acceptor. The buffer numbers must be separated by
spaces (for example, 256 b 257 b 258 b 000). The cumulative suspect bill counts for each currency
are written to the corresponding buffer. If 000 is specified for one of the buffers in the buffer list, the
cumulative suspect bill counts for the corresponding currency are not written to a buffer.

The network programmer is responsible for storing the buffer list in the buffer before the start of the
Cash Verify operation or Cash Retain operation.

Cumulative suspect bill counts. A separate suspect bill count is maintained for each
denomination of a currency. The cumulative suspect bill count for a denomination is the count of
suspect (category 3) bills of that denomination that were verified or retained during the transaction.

Count buffer format (single currency allowed). Each count buffer stores the suspect bill counts
for all the configured denominations of a given currency. Each count buffer is 44 bytes in length and
stores up to ten distinct 3-byte bill counts (one bill count for each denomination), with all remaining
bytes set to zero. The bill counts are stored in the buffer in descending order from the highest-value
denomination to the lowest-value denomination.

If the cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

For an example of this buffer format, refer to the paragraphs labeled Count buffer format (single
currency allowed) in the description of the Count Buffer ID entry.

Count buffer format (all currencies allowed). Each count buffer stores the suspect bill counts for
a given currency. The bill count data written to each count buffer has the following format:

DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN
b DDDDDDDDDD
b NNN ...

Each DDDDDDDDDD is a 10-digit number representing one of the configured denominations for
the currency. Each NNN is the three-digit bill count for the preceding denomination
(DDDDDDDDDD). Only denominations with a non-zero cumulative counterfeit bill count are
included in the bill count data.

For additional details and an example of this buffer format, refer to the paragraphs labeled Count
buffer format (all currencies allowed) in the description of the Count Buffer ID entry.

Reserved
Valid Range: 000
Description: This entry is reserved.

Additional Denomination Data


When all of the following conditions are met during a transaction, Agilis 3 91x automatically stores
additional denomination data in certain buffers:
 A single currency is allowed for the transaction.
 The Currency Code Buffer ID entry is present in the function data, and the value in the entry
is non-zero.
 The Count Buffer ID entry is present in the function data, and the value in the entry is non-
zero.

When these conditions are met, up to ten pairs of Agilis 3 91x buffers (twenty buffers in total) are
filled with cumulative denomination and count data during Cash Verify operations and Cash Retain
operations. Buffers 310 through 325, and 342 through 345 are reserved for these purposes. Each
pair contains (1) the bill denomination and (2) the number of bills of that denomination in the current
transaction. The bill denomination buffer is 8 bytes in length and the bill count buffer is 3 bytes in
length.

The reserved buffer pairs are designated as follows:

 310, 311: Denomination 1 value and count


 312, 313: Denomination 2 value and count
 314, 315: Denomination 3 value and count
 316, 317: Denomination 4 value and count
 318, 319: Denomination 5 value and count
 320, 321: Denomination 6 value and count
 322, 323: Denomination 7 value and count
 324, 325: Denomination 8 value and count
 342, 343: Denomination 9 value and count
 344, 345: Denomination 10 value and count

The denominations in the buffers are saved in order from the lowest value configured denomination
(in buffer 310) to the highest value configured denomination. If a denomination is not configured in
ACU or by a Write Command 20 message, that denomination does not appear in a buffer pair.

NOTE

The reserved buffers 310 through 325 and 342 through 345 do not contain valid data unless
all the conditions in the preceding list are met.

Buffers 310 through 325 and 342 through 345 are cleared at the start of each cash deposit
transaction and during Close state processing (J states and @Z states). The buffers are cleared by
filling them with zero characters.

EXAMPLE

Suppose the terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-dollar
denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar bills,
and one 50-dollar bill. After a Cash Verify operation or Cash Retain operation processes this stack,
the reserved buffer pairs contain the following information:

 Buffer 310 = 00000005 (denomination 1 = $5)


 Buffer 311 = 004 (4 x $5)
 Buffer 312 = 00000010 (denomination 2 = $10)
 Buffer 313 = 000 (0 x $10)
 Buffer 314 = 00000020 (denomination 3 = $20)
 Buffer 315 = 002 (2 x $20)
 Buffer 316 = 00000050 (denomination 4 = $50)
 Buffer 317 = 001 (1 x $50)

Since only four denominations have been configured, only four reserved buffer pairs contain valid
data.

Buffer Pair for Counterfeit Amount and Count

When all of the following conditions are met during a transaction, Agilis 3 91x automatically stores
additional information about counterfeit bills in certain buffers:
 Fraudulent note detection is enabled.
 A single currency is allowed for the transaction.
 The Currency Code Buffer ID entry is present in the function data, and the value in the entry
is non-zero.
 The Count Buffer ID entry is present in the function data, and the value in the entry is non-
zero.

When these conditions are met, an additional pair of buffers (354 and 355) is filled with information
about counterfeit bills detected during the transaction. Agilis 3 91x writes the cumulative amount
and bill count to these buffers during Cash Verify operations and Cash Retain operations.

Buffer 354 contains the total amount of the counterfeit bills. The amount is eight bytes in length. For
example, for an amount of $1000 in counterfeit U.S. currency, the buffer would contain 00001000.

Buffer 355 contains the count of the counterfeit bills. The count is three bytes in length. For
example, if two counterfeit bills were detected, the buffer would contain 002.

Buffers 354 and 355 are cleared at the start of each cash deposit transaction and during Close
state processing (J states and @Z states). The buffers are cleared by filling them with zero
characters.

6.5.4 Currency Acceptor (CIb) Function Data for Single Note Acceptor (SNA)

The Currency Acceptor function directs the terminal to perform specific cash deposit operations.
The format of the Currency Acceptor function data is shown in Table 6-38. The Operation entry in
the function data determines which operation the terminal performs.

The function data can designate several buffers for storing the results of cash deposit transactions.
The following results can be stored:

 The total accumulated value of the deposited cash


 The amount of the last bill inserted
 A currency code that identifies the currency type used in the transaction
 The individual denomination counts for the deposited cash

For more information on these buffers, refer to the detailed buffer descriptions that follow Table 6-
38.

Table 6-38 Currency Acceptor Function Data Format


Entry Valid Range
Group ID (Device ID) CI b
Unit Number 001
Operation 101 - 103
Screen Number 1 Valid screen numbers
Consumer Response Time 001- 255, 900 - 931, 999
Retract Option 000
Screen 2 Valid screen numbers
Screen 3 Not Used
Total Amount Buffer ID 000, 065 - 090, 256 - 355
Currency Code Buffer ID 000, 065 - 090, 256 - 355
Count Buffer ID 000, 065 - 090, 256 - 355
Currency Code Buffer ID 2 000
Counterfeit Amount Buffer ID 000
Counterfeit Count Buffer ID 000
Suspect Amount Buffer ID 000
Suspect Count Buffer ID 000
Done Function key enable 065 - 073 (A through I)
Last Bill Amount Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
Amount Deposit Limit Buffer ID 000, 065 - 090, 256 - 309, 326 - 341, 346 - 353
[2]
Reserved 000
[1]
These entries are optional.

The following paragraphs describe the entries for the Currency Acceptor function data.

NOTE

In the following descriptions, configured currencies or denominations are those currencies


or denominations that the terminal is configured to accept (based on ACU or Write
Command 20 message configuration).

Group ID (Device ID)


Valid Range: CI b
Description: The Group ID (Device ID) entry identifies the specific device for which the following
function data applies. The only valid value for Currency Acceptor function data is CI b.

Unit Number
Valid Range: 001
Description: The unit number for the Currency Acceptor function data must be 001.

Operation
Valid Range: 101 through 103
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Currency Acceptor state.

101 (Cash Deposit Start). The SNA does not perform any action for this operation, and returns
Ready B. This operation is not mandatory, but provided for backward compatibility.

102 (Insert, Verify and Retain Cash). This is the only operation used by SNA device. This
operation allows the consumer to insert one bill at a time. Each bill is verified after it is inserted, and
once the bill is verified, it is immediately retained in the cashbox as SNA does not have escrow. If
the bill is not verified, it is returned to the consumer. After each bill is retained to the cashbox, the
Total Amount, the Bill Amount, and the Denomination Count buffers are updated with new amount
and count data.

If the Currency Code Buffer ID entry is included in the function data, the currency code is written to
the specified buffer.

This operation is divided into two phases.

Phase 1 displays Screen Number 1 which prompts the consumer to insert the first bill. The Total
Amount, the Bill Amount, and the Denomination Count buffers are initialized to zero. During phase
1, the Cancel key is enabled. If the consumer presses the Cancel key before any bills are inserted,
the operation terminates, and the terminal returns a Consumer Cancel solicited status (:24:00:00).

If a bill is not inserted within the Consumer Response time, the terminal sends Consumer Time out
error (:23:00:00) solicited status to the network.

If the cash box becomes full, the device gets disabled and sends Hardware Error solicited status
(:3A:39:39) to the network.

If an inserted bill cannot be verified, it is immediately returned to the consumer. The consumer must
take the returned bill, and insert another bill before the Consumer Response Timer expires. If the
consumer takes the presented bill, and inserts another bill before the Consumer Response Timer
expires, then screen 2 displays, and phase 2 begins. If the consumer does not take the bill before
the Consumer Response Timer expires the application sends Consumer Time out error (:23:00:00)
solicited status to the network.

Phase 2 begins when at least one bill is deposited.

If the consumer does not take the presented bill, it is left hanging in the front of the Single Note
Acceptor. In this case, the SNA remains operational and a new consumer can proceed ahead with
the transactions after removing the hanging bill.

If the first bill jams in the Single Note Acceptor, then the terminal sends a Hardware Error
(:3A:39:39) solicited status to network.

Phase 2 begins when at least one bill is inserted and retained to the Cashbox during phase 1. In
phase 2, the Cancel Key is disabled and the transaction cannot be cancelled as there is already
one bill inserted and retained in the cassette, and Single Note Acceptor cannot return that bill back.
During phase 2, Screen 2 is displayed, which prompts the consumer to insert the next bill, or press
Done once finished. This screen displays last deposited bill amount, total amount and denomination
count buffer data. During this phase the function key corresponding to Done Key is enabled. When
the consumer presses Done key, the Single Note Acceptor no longer accepts any bill, and a Ready
B solicited status is sent to the network.

Phase 2 terminates either when consumer presses Done Key or pre-configured amount is reached
or exceeded.

If a bill is not inserted during phase 2 before the Consumer Response Timer expires, terminal sends
Ready B to the network.

If an inserted bill cannot be verified, it will be immediately returned to the customer. If the customer
does not take the presented bill before the Consumer Response Timer expires, the terminal will
return Ready B Solicited status.

If the cashbox is full during Phase 2, the inserted bill cannot be retained and gets jammed. The
terminal sends Cash box is Full (:3D:37:01) solicited status to the network.

If a bill jams the Single Note Acceptor during an operation 102, the terminal sends a Hardware Error
(:3A:39:39) solicited status to network.

If the threshold level set for cashbox is reached during phase 2, and there are no other errors, the
terminal sends Deposit Cassette Almost Full unsolicited status (:3D:26:00) to the network.

If the cashbox is full during phase 2, and there are no other errors, the terminal returns Deposit
Cassette Full unsolicited status (:3D:37:00) to the network.

103 (Cash retain). This operation does nothing for SNA. On performing this operation the terminal
immediately takes Good Next State. This operation is not mandatory but provided for backward
compatibility.

Screen Number 1
Valid Range: Valid screen numbers
Description: The Screen Number entry specifies the number of the screen that appears on the
consumer display while the terminal is in phase 1. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 001 through 255
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to insert or remove bills, as applicable. If the time expires before the
consumer inserts or removes the bills, the terminal reports a Consumer Timeout status
(CI01:23:00:00). The valid values for this entry are as follows:

001 through 255 - Number of ticks (no beeping)

Screen 2
Valid Range: Valid screen numbers
Description:

The Screen 2 entry specifies the number of the screen that appears on the consumer display during
phase 2, that is, when the Single Note Acceptor has retained at least one bill to the cashbox during
an operation 102 . Screen 2 should have a Done function key.

The valid values for this entry are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

Screen 3
Not Used

Total Amount Buffer ID


Valid Range: 000, 065 through 090, and 256 through 355

Description: The Amount Buffer ID entry indicates the buffer(s) where the cumulative transaction
amount(s) are to be written during an Insert, Verify and Retain Cash operation. For single-currency
terminals, this entry can be 000. For multiple-currency terminals, this entry is required.

The Amount Buffer ID entry points either to an amount buffer.

Since SNA allows single currency transaction, the Amount Buffer ID entry must contain a single
valid buffer number or 000. If a valid buffer number is specified, the cumulative transaction amount
is written to the specified buffer. If 000 is specified for the buffer ID, the cumulative transaction
amount is not written to a buffer.

Cumulative transaction amounts. The cumulative transaction amount for a currency includes the
total value of genuine (category 4) bills of that currency that were verified or retained during the
transaction.

Amount buffer format. Each amount buffer is 12 digits in length, unless the specified buffer is the
Dollar Buffer (buffer 065), in which case the buffer is 8 or 12 digits in length, depending on Dollar
Buffer configuration (Write Command 3 message). The last two or three digits of the amount,
depending on decimal places configuration (Write Command 3 message), represent the decimal
amount. If the amount is zero, the amount buffer is filled with zero characters to the required length.

Currency Code Buffer ID


Valid Range: 000, 065 through 090, and 256 through 355

Description: The Currency Code Buffer ID entry specifies the buffer that indicates the currency
used for the current transaction. The currency code is three-character ISO 4217 currency codes (for
example, 'USD' for U.S. dollars).

Since SNA allows single currency transaction, the Currency Code Buffer ID entry can be 000.
However, if subsequent entries are included in the function data, the Currency Code Buffer ID entry
must be present. During Insert, Verify and Retain Cash operation, if any valid bills have been
verified, Agilis 3 91x writes the corresponding currency code to the specified buffer. If no valid bills
have been verified (for example, if all the inserted items are rejected), Agilis 3 91x writes three
space characters to the buffer. If the value in the Currency Code Buffer ID entry is 000, the currency
code is not written to a buffer.

Count Buffer ID
Valid Range: 000, 065 through 090, and 256 through 355

Description: The Count Buffer ID entry indicates the buffer(s) where the cumulative bill counts are
to be written during a Cash Deposit operation. This entry points to a count buffer.

Since SNA allows single currency transaction, the Count Buffer ID entry must contain a single valid
buffer number or 000. If a valid buffer number is specified, the cumulative bill counts are written to
the specified buffer. If 000 is specified for the buffer ID, the cumulative bill counts are not written to
a buffer.

Cumulative bill counts. A separate bill count is maintained for each denomination of a currency.
The cumulative bill count for a denomination includes the count of genuine (category 4) bills of that
denomination that were verified or retained during the transaction.

Count buffer format (single currency allowed). Each count buffer stores the bill counts for all the
configured denominations of a given currency. Each count buffer is 44 bytes in length and stores up
to ten distinct 3-byte bill counts (one bill count for each denomination), with all remaining bytes set
to zero. The bill counts are stored in the buffer in descending order from the highest-value
denomination to the lowest-value denomination. Refer to the example for clarification. If the
cumulative bill counts are zero for all denominations, the count buffer is filled with 44 zero
characters.

EXAMPLE

Suppose the terminal has been configured to accept U.S. currency in the 5-, 10-, 20-, and 50-dollar
denominations. A consumer inserts a cash stack containing four 5-dollar bills, two 20-dollar bills,
and one 50-dollar bill. At the end of the operation, the specified count buffer contains the following
information:

00100200000400000000000000000000000000000000

Where (from left to right):

 001 is the bill count for the 50-dollar denomination


 002 is the bill count for the 20-dollar denomination
 000 is the bill count for the 10-dollar denomination
 004 is the bill count for the 5-dollar denomination

All remaining bytes are set to zero.

Currency Code Buffer ID 2


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields.

Counterfeit Amount Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect counterfeit-
notes.

Counterfeit Count Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect counterfeit-
notes.

Suspect Amount Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect suspect-
notes.

Suspect Count Buffer ID


Valid Range: 000
Description: For SNA, the value for this buffer should be 000. This field is of no use to SNA, but it
is mandatory to include it in the state to use the subsequent fields. SNA does not detect suspect-
notes.

Done Function key ID


Valid Range: 065 through 073 (A through I)
Description: The Done Function Key ID contains the ASCII code of the function key that terminates
the phase 2 of operation 102.

Last Bill Amount Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341 and 346 through 353
Description: The Last Bill Amount Buffer ID entry identifies the buffer where the value of the last
bill retained is to be placed during an operation 002. The amount is twelve digits in length, unless
the specified buffer is Dollar Buffer (buffer 065). If the specified buffer is Dollar Buffer, the amount is
eight or twelve digits in length, depending on the Dollar Buffer configuration. The last two or three
digits of the amount (depending on decimal places configuration) represent the decimal amount.
Dollar Buffer length and the number of decimal places can be set using the Write Command 3
message.

If the value in this entry is 000, the amount is not stored in a buffer.

Amount Deposit Limit Buffer ID


Valid Range: 000, 065 through 090, 256 through 309, 326 through 341 and 346 through 353
Description: The Amount Deposit Limit Buffer ID entry identifies the buffer where the value of the
pre-configured amount or the consumer entered amount (whichever is lower) is to be placed during
an operation 102. The amount is twelve digits in length, unless the specified buffer is the Dollar
Buffer (buffer 065). If the specified buffer is Dollar Buffer, the amount is eight or twelve digits in
length, depending on the Dollar Buffer configuration. The last two or three digits of the amount
(depending on decimal places configuration) represent the decimal amount. Dollar Buffer length
and the number of decimal places can be set using the Write Command 3 message.
If the mentioned buffer is not initialized with appropriate value or set to 0, then the terminal
generates CI01:3E:40:34 solicited status, that is, data error.

If the value in this entry is 000, unlimited amount can be deposited by the consumer.

Reserved
Valid Range: 000
Description: This entry is reserved.

6.5.5 Card Reader (CRb) Function Data

The format of the Card Reader Function Data entries is shown in Table 6-39. The Card Reader
Function Data directs the terminal to perform specific card reader operations. The Operation entry
in the Function Data determines which operation the terminal performs.

Table 6-39 Card Reader Function Data Format


Entry Valid Range
Group ID (Device ID) CR b
Unit Number 001
Operation 101 - 104, 106 - 107, 111 - 115
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Read Conditions (composite) 001 - 017
Read Condition A 000 - 015
Read Condition B 000 - 015
Read Condition C 000 - 015
Read Condition D 000 - 015

The following paragraphs describe the fields for the Card Reader Function Data.

Group ID (Device ID)


Valid Range: CR b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the card reader is CR b.

Unit Number
Valid Range: 001
Description: The unit number for the card reader Function Data must be 001.

Operation
Valid Range: 101 through 104, 106 through 107, and 111 through 115
Description: The Operation entry tells the terminal which operation to perform.

NOTE
If the terminal uses a swipe-style or standard (non-smart card) dip card reader, the only
applicable Operation entry is 101.

For all writing operations (102, 111, and 112), the applicable track data buffer must contain
good track data (including both the start sentinel and the end sentinel) obtained either from
a good read or from the most recently received Function Command message.

The following paragraphs describe the operations that are valid for the Card Reader function data.

101 (Read and wait). Read the card, wait for the operation to complete. The terminal goes to the
next operation specified in the message after the card reader successfully reads the card.

102 (Write track 3). Write on track 3 of the card, wait for the operation to complete. The terminal
goes to the next operation specified in the message after the card reader successfully writes and
verifies the track 3 data.

103 (Return and wait). Return the card, wait for the consumer to remove the card. The terminal
goes to the next operation specified in the message after the consumer takes the card.

104 (Retain and wait). Retain or capture the card, wait for the operation to complete. The terminal
goes to the next operation specified in the message after the card leaves the transport.

105 (Reserved). This value is reserved.

106 (Return, do not wait). Return the card, do not wait for removal. The terminal goes immediately
to the next operation specified in the message without waiting for the consumer to remove the card.

107 (Return, wait, capture). Return the card, wait for removal, capture the card if not removed.
The terminal goes to the next operation specified in the message after the consumer takes the card
or the card leaves the transport.

108 (Reserved). This value is reserved.

111 (Write track 1). Write on track 1 of the card, wait for the operation to complete. The terminal
goes to the next operation specified in the message after the card reader successfully writes and
verifies the track 1 data or a fault is encountered. This operation requires a card reader capable of
writing on track 1.

112 (Write track 2). Write on track 2 of the card, wait for the operation to complete. The terminal
goes to the next operation specified in the message after the card reader successfully writes and
verifies the track 2 data or a fault is encountered. This operation requires a card reader capable of
writing on track 2.

113 (Read, do not lock). Enable card reader for read on insertion and do not lock. This operation
requires a dip smart card reader capable of reading on insertion. When the card is inserted, it is not
locked.

114 (Read and lock). Enable card reader for read on insertion and lock. This operation requires a
dip smart card reader capable of reading on insertion. When the card is inserted, it is locked in the
reader. This allows for multiple transactions with one card insertion. The card can be released by
using a card read state or card read function, or by directing the state flow through a close state.
115 (Wait for removal). Check the card reader sensors until the consumer response time expires.
This operation requires a dip smart card reader. If the sensors are clear (no card in the reader)
before the time expires, the terminal goes to the good operation next state. If the sensors remain
blocked when the time expires, the terminal goes to the consumer fault next state.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display while the terminal is performing the function. The valid values are as
follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry contains the amount of time that the terminal
waits for the consumer to respond to the screen shown on the consumer display. If this time expires
before the consumer responds to the screen, the terminal sends the network a timeout status.

The valid values are as follows:

 000 through 255 - Number of seconds (no beeping)


 900 through 931 - Configured timers 900 through 931
 999 - Wait forever (no beeping)

NOTE

The following entry (Read Conditions [composite]) is used only by terminals that cannot
read smart cards. If the terminal can read smart cards, the Read Condition A, B, C, and D
entries must be used to define read conditions.

Read Conditions (composite)


Valid Range: 001 through 017
Description: If the Operation entry contains 101 (read the card), the Read Conditions (composite)
entry tells the terminal which card track(s) the terminal must read correctly. The terminal must
satisfy the Read Conditions before going to the next operation. The valid values are as follows:
 001 - 1 only
 002 - 2 only
 003 - 3 only
 004 - 1 and 2
 005 - 1 and 3
 006 - 2 and 3
 007 - 1 and 2 and 3
 008 - 2 or 3
 009 - 1 or 3
 010 - 1 or 2
 011 - 1 or 2 or 3
 012 - 1 and (2 or 3)
 013 - 2 and (1 or 3)
 014 - 3 and (1 or 2)
 015 - 1 or (2 and 3)
 016 - 2 or (1 and 3)
 017 - 3 or (1 and 2)

The word and specifies that the terminal must read all the indicated tracks correctly. The word or
specifies that the terminal must read only one of the indicated tracks correctly.

For example, 1 and 2 and 3 indicates that the terminal must read tracks 1, 2, and 3, while a 1 or 2
or 3 indicates that the terminal assumes a successful operation if any of the tracks are read
correctly.

The terminal always attempts to read all the tracks. The Read conditions set up the criteria by which
the terminal determines a successful read operation.

NOTE

The following four entries are used for terminals equipped with a smart card reader. If the
terminal cannot read smart cards, the Read Conditions (composite) entry must be used to
define read conditions, and the Read Condition A, B, C, and D entries must contain the value
000.

If any of the Read Condition A, B, C, and D entries contain a non-zero value, the
corresponding read condition overrides whatever conditions are specified in the Read
Conditions (composite) entry.

Read Condition A
Valid Range: The following values are valid for this entry:
 000 - None
 001 - 3 only
 002 - 2 only
 003 - 2 and 3
 004 - 1 only
 005 - 1 and 3
 006 - 1 and 2
 007 - 1 and 2 and 3
 008 - Chip connect only
 009 - Chip connect and 3
 010 - Chip connect and 2
 011 - Chip connect and 2 and 3
 012 - Chip connect and 1
 013 - Chip connect and 1 and 3
 014 - Chip connect and 1 and 2
 015 - Chip connect and 1 and 2 and 3
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the next function
specified in the message. Refer to Table 5-35 for the standard values for the Read Condition A, B,
C, and D entries.

Read Condition B
Valid Range: Same as Read Condition A
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the next function
specified in the message. Refer to Table 5-35 for the standard values for the Read Condition A, B,
C, and D entries.

Read Condition C
Valid Range: Same as Read Condition A
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the next function
specified in the message. Refer to Table 5-35 for the standard values for the Read Condition A, B,
C, and D entries.

Read Condition D
Valid Range: Same as Read Condition A
Description: The Read Condition A, B, C, and D entries tell the terminal which card tracks it must
read correctly. The terminal must satisfy these read conditions before going to the next function
specified in the message. Refer to Table 5-35 for the standard values for the Read Condition A, B,
C, and D entries.

6.5.6 Depositor (DPb) Function Data for Single-item Deposits

This section describes the Depositor Function Data for single-item deposits. This format is used by
standard envelope depositories, and by the IDM 4 and IDM 5. This format is also used for the IDM bd
when that device is configured to run in single-check mode. The format of the Depositor Function
Data entries is shown in Table 6-40. The Operation entry in the Function Data determines which
operation the terminal performs.

Return and Retain if Jam Feature


If the Return and Retain if Jam feature is enabled, the terminal automatically attempts to recover
from a jam during a check return by moving the affected check into the bin specified by the function
data. If the attempt is successful, the terminal does not report a jam status to the network. For the
Depositor function data for single-item deposits, this feature applies to the following operations:
 Return check with printing
 Return check without printing
Table 6-40 Depositor Function Data Format (Single-item Deposits)
Entry Valid Range
Group ID (Device ID) DP b
Unit Number 001
Operation 100 - 106
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Print Buffer ID Valid buffer numbers, 000
[1]
MICR Buffer ID Valid buffer numbers, 000
[1]
Deposit Bin ID 000 - 003
[1]
Reserved Refer to the description.
[1]
Check Accepted Screen Valid screen numbers
[1]
Check Handling Delay Screen Valid screen numbers
[1]
Check Handling Delay Time 000 - 254, 255
[1]
Reserved 000
[1]
These fields are not required for operations 100 and 101.

The following paragraphs describe the fields for the Depositor Function Data for single-item
deposits.

Group ID (Device ID)


Valid Range: DP b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for Depositor function data is DP b.

Unit Number
Valid Range: 001
Description: The unit number for the Depositor Function Data must be 001.

Operation
Valid Range: 100 through 106
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Depositor function data for single-item
deposits.

100 (Dispense envelope). This operation requires an envelope dispenser. For operation 100,
function command processing proceeds in a manner similar to that of automatic envelope
dispensing (Section 3.3.2), with the following differences:

 The envelope dispense does not necessarily directly precede a deposit operation.
 If the envelope dispense is not successful, the terminal displays screen 913, rather than
screen 911. This screen is displayed for three seconds.
 When processing is complete, regardless of the outcome of the operation, the terminal
goes to the next function specified in the message.
If this operation is used, all other entries must be set to 000.

101 (Deposit envelope). This operation requires an envelope depository. The envelope depository
is enabled for a complete envelope deposit.

If the terminal is equipped with an envelope dispenser, and automatic envelope dispensing is
enabled, and the terminal has not previously attempted to dispense an envelope for this
transaction, the terminal automatically dispenses a deposit envelope before proceeding to the
deposit operation (Section 3.3.2).

Timeout of this operation is controlled by the Consumer Response Time entry. The Cancel key is
enabled during this operation.

102 (Deposit check to escrow). This operation requires an IDM. The operation is intended to be
the first step of a check deposit. If there is no check or other document in escrow, the terminal
enables the IDM to perform the following operations:

 Accept a check or document


 Read the MICR line as directed by the MICR search preference set in the Agilis
Configuration Utility
 Capture the image(s) of the check or document
 Hold the check or document in the escrow position

Timeout of this operation is controlled by the Consumer Response Time entry. The Cancel key is
enabled during this operation.

If a check or other document is in escrow at the start of this operation, the check or document is
moved to the deposit bin specified in the Deposit Bin ID field. The deposit then proceeds as
described in the preceding paragraphs.

If suspicious magnetics are detected on the document during this operation, the terminal reports a
Suspicious Magnetics status (DP01:3F:00:40) to the network.

103 (Retain check with printing). The terminal moves the check or other document from the
escrow position to the deposit bin specified in the Deposit Bin ID field.

If there is data in the buffer specified by the Print Buffer ID field, the terminal prints this data on the
check or document. If there is no data in the specified buffer, the terminal prints the default data
(Section 3.3.1). If no printing is desired, the specified buffer must contain at least one space.

The Cancel key is disabled during this operation.

104 (Return check with printing). The terminal moves the check or other document from the
escrow position to the entry slot of the depository, to allow the consumer to retrieve the check or
document.

If there is data in the buffer specified by the Print Buffer ID field, the terminal prints this data on the
check or document. If there is no data in the specified buffer, the terminal prints the default data
(Section 3.3.1). If no printing is desired, the specified buffer must contain all spaces.
Timeout of this operation is controlled by the Consumer Response Time entry. If a timeout occurs,
the check or document is captured and placed in the deposit bin specified in the Deposit Bin ID
field.

The Cancel key is disabled during this operation.

105 (Return check without printing). This operation requires an IDM. The terminal moves the
check or other document from the escrow position to the entry slot of the depository, to allow the
consumer to retrieve the check or document.

Timeout of this operation is controlled by the Consumer Response Time entry. If a timeout occurs,
the check or document is captured and placed in the deposit bin specified in the Deposit Bin ID
entry.

The Cancel key is disabled during this operation.

106 (Disable the IDM). The terminal renders the IDM logically disabled by suspending further
operations on the device. Once the IDM is logically disabled, subsequent Depositor states
immediately exit to the state specified in the Hardware Fault Next State entry, and subsequent
Depositor function commands immediately return a DP01:39:00:0n solicited status (depositor
disabled). The IDM remains logically disabled until the IDM is cleared, and the operator performs
Maintenance logon and logoff.

This operation can be used to limit damage to a check or document jammed in the device. The
operation can also be used when a check or document in escrow cannot be moved to a deposit bin,
and it is not desirable to return the check or document to the consumer.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number field specifies the number of the screen that the terminal shows
on the consumer display while it is performing the function. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time field defines the amount of time that the terminal waits
for the consumer to respond to the screen shown on the consumer display. This field is used only
with operations 101, 102, 104, and 105. This field is not used with operations 100, 103, and 106.

The valid values are as follows:

 000 through 255 - Number of seconds (no beeping)


 900 through 931 - Configured timers 900 through 931
 999 - Wait at least three minutes

When waiting for document insertion, if this time expires before the consumer responds to the
screen, the terminal shows the More Time screen and starts timer 01. If timer 01 then expires
without the consumer responding, the terminal sends the network a timeout status.
NOTE

If the specified consumer response time, plus the timer 01 time is longer than the
depository's built-in timeout, the operation times out when the depository's built-in timeout
expires.

Print Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The Print Buffer ID field identifies which buffer contains the data that the terminal is to
print on the deposit printer. The terminal prints the buffer data only when the Operation field
specifies an operation that includes printing. Also, the print data must be placed in the buffer before
the terminal begins processing the Depositor function data. If the value in this entry is 000, printing
is disabled.

MICR Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The MICR Buffer ID field identifies which buffer the terminal uses to store MICR data
read from the check. If the value in this entry is 000, the terminal does not attempt to read MICR
data from the check.

Deposit Bin ID
Entry Number: 7
Valid Range: 000 through 003
Description: The Deposit Bin ID tells the terminal in which bin to place a deposit, subject to the
capabilities of the IDM as follows. If the bin ID in this field is lower than the lowest numbered bin in
the IDM, the lowest numbered bin is used. If the bin ID in this field is higher than the highest
numbered bin in the IDM, the highest numbered bin is used.

This entry is applicable to operations 102, 103, 104, and 105. For all other operations, Agilis 3 91x
ignores this entry.

Reserved
Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in this entry, so any character data is acceptable. The
recommended value for this entry is 000.

Check Accepted Screen


Valid Range: Valid screen numbers (Section 5.6)
Description: This field contains the number of the screen to display when the IDM has accepted a
check, but has not yet read or scanned the check. If the value in this field is 000, the terminal does
not change the screen currently showing. If this field is not included, the value defaults to 000.

Check Handling Delay Screen


Valid Range: Valid screen numbers (Section 5.6)
Description: This field contains the number of the screen to display if the time specified in the
Check Handling Delay Time field expires after the check is accepted. This screen is used to assure
the consumer that the check is still being handled in case the IDM has difficulty locating the MICR
data. If the value in this entry is 000, the terminal does not change the screen currently showing. If
this field is not included, the value defaults to 000.
Check Handling Delay Time
Valid Range: 000 through 254, and 255
Description: The value in this entry specifies how long to wait from the time the check is accepted
until displaying the Check Handling Delay screen. The valid values for this field are as follows:
 000 through 254 - Number of seconds (no beeping)
 255 - Do not display the Check Handling Delay screen.

Reserved
Valid Range: 000
Description: This field is reserved.

6.5.7 Depositor (DPb) Function Data for Bulk Document Deposits

This section describes the Depositor Function Data for bulk document deposits. This format is used
by the IDMbd operating in multi-check mode (native mode). The format of the Depositor Function
Data entries is shown in Table 6-41. The Operation entry in the Function Data determines which
operation the terminal performs.

For an example transaction flow for bulk document deposit transactions, refer to the description of
the Depositor state for bulk document deposits (Section 5.5.7).

Return and Retain if Jam Feature


If the Return and Retain if Jam feature is enabled, the terminal automatically attempts to recover
from a jam during a check return by moving the affected check(s) into the bin specified by the
function data. If the attempt is successful, the terminal does not report a jam status to the network.
For the Depositor function data for bulk document deposits, this feature applies to the following
operations:
 Present checks
 Move checks
 Roll back checks
Table 6-41 Depositor Function Data Format (Bulk Deposits)
Entry Valid Range
Group ID (Device ID) DP b
Unit Number 001
Operation 102 - 113
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Print Buffer ID Valid buffer numbers, 000
MICR Buffer ID Valid buffer numbers, 000
[1]
Deposit Bin ID 001 - 002, valid buffer numbers , 000
Reserved Refer to the description.
Check Accepted Screen Valid screen numbers
Reserved Refer to the description.
Reserved Refer to the description.
Reserved 000
Reserved 000
Maximum Documents in Escrow 000, 001 - 255
Check Index Buffer ID Valid buffer numbers, 000
[1]
Buffer numbers are applicable to the Disposition Query operation only.

The following paragraphs describe the fields for the Depositor Function Data for bulk document
deposits.

Group ID (Device ID)


Valid Range: DP b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for Depositor function data is DP b.

Unit Number
Valid Range: 001
Description: The unit number for the Depositor function data must be 001.

Operation
Valid Range: 102 through 113
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Depositor function data for bulk document
deposits.

102 (Deposit checks to escrow). This operation is intended to be the first step of a document
deposit. The terminal enables the IDMbd to perform the following operations:

 Accept a stack of documents for deposit. Timeout of this part of the operation is controlled
by the Consumer Response Time entry. The Cancel key is enabled until the terminal
detects documents in the entry slot.
 Process each document of the stack (up to the limit specified by the Maximum Documents
in Escrow field) as follows:
o Read the MICR line
o Capture the top and bottom images of the document
o Check for suspicious magnetics on the document
o Place the document in escrow

The terminal does not wait for the IDMbd to finish processing the stack. When the stack is pulled into
the terminal and the shutter closes, the terminal goes to the next function in the message while the
IDMbd continues to process the stack.

If a document is rejected by the IDMbd (for example, for being the wrong size), the rejected
document is placed back in the entry slot. If all the documents are rejected, the terminal reports a
Media Fault (DP01:3F:44:31) to the network.
Document images captured during the Deposit Checks to Escrow operation are maintained until a
Close state is processed, or until the next Deposit Checks to Escrow operation. The operation
captures the following document image files:

C:\Program Files\Diebold\Agilis EmPower\DAData


\top_nn.bmp

C:\Program Files\Diebold\Agilis EmPower\DAData


\bot_nn.bmp

Where nn is a number from 01 to 30, corresponding to a document in escrow. The number nn is the
check index number assigned to the document.

NOTE

If there are documents in the entry slot at the start of this operation, the IDM bd cannot accept
a new stack of documents, and the terminal reports a Document Handling Fault
(DP01:3E:00:76).

If there are documents in escrow at the start of this operation, the IDM bd cannot accept a new
stack of documents, and the terminal reports a Network Error (DP01:3E:00:75).

The network must use state or function command processing to clear the entry slot and escrow as
needed before the IDMbd can accept a new stack of documents.

103 (Retain check with printing). The terminal flags a document for deposit to the bin specified in
the Deposit Bin ID field. The document to be flagged is determined by the value in the buffer
specified by the Check Index Buffer ID field. But if the Check Index Buffer ID field is 000, the
document to be flagged is determined by the previous Set Check Context operation. The document
is not physically moved to the specified bin until a Move Checks operation is performed.

If there is data in the buffer specified by the Print Buffer ID field, the terminal stores that data for
printing during the Move Checks operation. If there is no data in the specified buffer, the terminal
stores the default data (Section 3.3.1). If no printing is desired, the value in the Print Buffer ID field
must be 000, or the specified buffer must contain all spaces.

If the specified document is not in escrow, but the initial processing (begun by the Deposit Checks
to Escrow operation) is not yet complete, the Retain Check with Printing operation waits until the
initial processing is complete.

If the specified document is not in escrow when the initial processing is complete, no action is
performed and no fault is reported.

104 (Return check with printing). The terminal flags a document for return to the consumer. The
document to be flagged is determined by the value in the buffer specified by the Check Index Buffer
ID field. But if the Check Index Buffer ID field is 000, the document to be flagged is determined by
the previous Set Check Context operation. The document is not physically moved to the entry slot
and presented to the consumer until a Move Checks operation is performed.

If there is data in the buffer specified by the Print Buffer ID field, the terminal stores that data for
printing during the Move Checks operation. If there is no data in the specified buffer, the terminal
stores the default data (Section 3.3.1). If no printing is desired, the value in the Print Buffer ID field
must be 000, or the specified buffer must contain all spaces.
If the specified document is not in escrow, but the initial processing (begun by the Deposit Checks
to Escrow operation) is not yet complete, the Return Check with Printing operation waits until the
initial processing is complete.

If the specified document is not in escrow when the initial processing is complete, no action is
performed and no fault is reported.

105 (Return check without printing). The terminal flags a document for return to the consumer.
The document to be flagged is determined by the value in the buffer specified by the Check Index
Buffer ID field. But if the Check Index Buffer ID field is 000, the document to be flagged is
determined by the previous Set Check Context operation. The document is not physically moved to
the entry slot and presented to the consumer until a Move Checks operation is performed.

If the specified document is not in escrow, but the initial processing (begun by the Deposit Checks
to Escrow operation) is not yet complete, the Return Check without Printing operation waits until the
initial processing is complete.

If the specified document is not in escrow when the initial processing is complete, no action is
performed and no fault is reported.

106 (Disable the IDM). The terminal renders the IDMbd logically disabled by suspending further
operations on the device. Once the IDMbd is logically disabled, subsequent Depositor states
immediately exit to the state specified in the Hardware Fault Next State entry, and subsequent
Depositor function commands immediately return a DP01:39:00:0n solicited status (depositor
disabled). The IDMbd remains logically disabled until the IDMbd is cleared, and the operator performs
Maintenance logon and logoff.

This operation can be used to limit damage to a document jammed in the device. The operation can
also be used when a document in escrow cannot be moved to a deposit bin, and it is not desirable
to return the document to the consumer.

107 (Set check context). The terminal obtains a check index number from the buffer specified by
the Check Index Buffer ID field, then waits for the corresponding document to be placed in escrow
following initial processing (begun by the Deposit Checks to Escrow operation). The terminal then
generates screen icons and a printable image for the document, and stores the document's MICR
data in the specified buffer.

If the value in the Check Index Buffer ID field is 000, or if the specified buffer contains a value of
zero, the check index number is not changed from the value it had at the start of this operation.

This operation is required prior to performing any of the following activities for the specified
document:

 Displaying the document image on the consumer display (ESC Q or ESC @)


 Interpreting the courtesy amount on a check (Image Character Recognition state)
 Sending the MICR data to the network (or any network use of the MICR data)
 Printing any check-specific information, such as check images (for example, using ESC R
or ESC r), check numbers, or check index numbers.

The terminal stores the document's MICR data in the buffer specified by the MICR Buffer ID field. If
MICR data was not detected on the document during the initial processing, or if the data was not
valid, the terminal reports a MICR Data error (DP01:3F:00:30) during the Set Check Context
operation. However, if the MICR Buffer ID entry is 000, the terminal does not store the MICR data
and does not take the MICR Fault Next State exit if a MICR data error is detected.

If suspicious magnetics were detected on the document during the initial processing, the terminal
reports a Suspicious Magnetics status (DP01:3F:00:40) during the Set Check Context operation.

NOTE

If there are no documents in escrow when the initial processing is complete, the terminal
reports a Media Fault (DP01:3F:44:31) on attempting to perform a Set Check Context
operation.

If the initial processing is complete, and the specified check index number exceeds the
number of checks in escrow, the terminal reports a Check Not Present error (DP01:3F:43:40).

108 (Presentable checks query). The terminal reports whether there are documents that are ready
to present to the consumer. This operation can be used to determine if any documents have been
rejected during initial processing (Deposit Checks to Escrow operation) or have been left
unprocessed in the entry slot (which occurs if the consumer inserted more than the specified
maximum number of documents). The operation does not wait for initial processing to complete
before sending one of the following statuses to the network:

 Ready status - There are documents ready to present. Initial processing is complete.
 DP01:3F:43:40 - There are no documents to return. Initial processing is complete.
 DP01:3F:44:31 - There are no documents to return yet, but initial processing is not yet
complete.
 DP01:3F:44:35 - Some documents have been rejected, but initial processing is not yet
complete.

109 (Present checks). The terminal presents all the documents that are in the entry slot to the
consumer. Typically, a Present Checks operation would follow a Presentable Checks Query
operation if the Presentable Checks Query operation indicated that there were documents to be
presented to the consumer.

Timeout of this operation is controlled by the Consumer Response Time field. If the presented
documents are not taken within the allotted time or if the Cancel key is pressed, the documents are
recaptured and placed in the deposit bin specified by the Deposit Bin ID field.

110 (Move checks). The terminal moves all the documents from escrow to their assigned
destinations, as set by previous Retain Check with Printing, Return Check with Printing, and Return
Check without Printing operations. Documents that have no assigned destination are moved to the
bin specified by the Deposit Bin ID field.

For documents whose disposition was set by a Retain Check with Printing or Return Check with
Printing operation, if there is stored print data for the document, the terminal prints the data on the
document.

All documents being returned to the consumer are moved to the entry slot, and the resulting stack is
presented to the consumer. As soon as the documents are presented, the terminal displays the
screen specified by the Check Accepted Screen field, which should prompt the consumer to remove
the documents. The Cancel key is enabled (unless the value in the Screen Number field is 000).
Timeout of this part of the operation is controlled by the Consumer Response Time field. If the
presented documents are not taken within the allotted time or if the Cancel key is pressed, the
documents are recaptured and placed in the deposit bin specified by the Deposit Bin ID field.

If there are no documents in escrow at the start of this operation, no fault is reported.

111 (Roll back checks). The terminal attempts to immediately return all returnable documents to
the consumer. All documents that have not been placed in one of the deposit bins are moved to the
entry slot and presented. There is no printing on these documents during this operation.

If documents are still being scanned at the start of this operation, the terminal waits until scanning is
complete before moving documents from escrow.

If there are no returnable documents in the device at the start of this operation, the terminal reports
a Media Fault (DP01:3F:44:31) to the network.

Timeout of this operation is controlled by the Consumer Response Time field. If the presented
documents (if any) are not taken within the allotted time or if the Cancel key is pressed, the
documents are recaptured and placed in the deposit bin specified by the Deposit Bin ID field. The
terminal then reports a Consumer Timeout status (DP01:23:00:00) to the network.

112 (Clear checks). The terminal attempts to clear the device of all documents in escrow, in the
entry slot, or in the transport, and place them in the specified bin. The Deposit Bin ID field is used to
specify the bin in which to place the cleared documents. There is no printing on these documents
during this operation.

If there are no documents in escrow, in the entry slot, or in the transport at the start of this
operation, the terminal reports a Media Fault (DP01:3F:44:31) to the network.

113 (Disposition query). The terminal reports the future disposition of an escrowed document,
based on the destination assigned by a previous Retain Check with Printing, Return Check with
Printing, or Return Check without Printing operation. The Check Index Buffer ID field is used to
specify the escrowed document to query. The answer to the query is placed in the buffer specified
by the Deposit Bin ID field. The valid values for the disposition are as follows:

 000 - Return to the consumer


 001 - Retain in bin 1
 002 - Retain in bin 2

The disposition data is stored as an ASCII text string. For example, the value 002 (retain in bin 2) is
stored as hex 30 30 32.

This operation does not change the current check context (set by the Set Check Context operation).

If the value in the Check Index Buffer ID field is 000, the current check context determines which
document to query. If the value in the check index buffer is 00, document 01 is queried.

If the disposition of the document has not been set by a Retain Check with Printing operation,
Return Check with Printing operation, or Return Check without Printing operation, the contents of
the buffer specified by the Deposit Bin ID field is not changed.

If there are no documents in escrow at the start of this operation, the terminal reports a Media Fault
(DP01:3F:44:31).
Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number field specifies the number of the screen that the terminal shows
on the consumer display when it begins performing the function. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time field defines the amount of time that the terminal waits
for the consumer to insert or remove documents, as applicable. The valid values for this field are as
follows:
 000 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait at least three minutes

When waiting for document insertion, if this time expires before the consumer responds, the
terminal shows the More Time screen and starts timer 01. If timer 01 then expires without the
consumer responding, the terminal sends the network a Consumer Timeout status
(DP01:23:00:00).

NOTE

If the specified consumer response time, plus the timer 01 time is longer than the IDM bd's
built-in timeout, the operation times out when the IDM bd's built-in timeout expires.

Print Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The Print Buffer ID field identifies which buffer contains the data to be printed on the
document.

The print data must be placed in the specified buffer before performing the Retain Check with
Printing operation or the Return Check with Printing operation (as applicable), which stores the data
for later printing. The terminal prints this data on the document during the Move Checks operation.

If the value in this field is 000, printing is disabled.

MICR Buffer ID
Valid Range: Valid buffer numbers, and 000
Description: The MICR Buffer ID field identifies which buffer the terminal uses to store MICR data
read from the check during the Set Check Context operation. If the value in this field is 000, the
terminal does not store the MICR data in a buffer.

Deposit Bin ID
Valid Range: Refer to the description.
Description: The following operations use this field to specify the bin in which to place a document.
For these operations, the valid range for this field is 001 through 002:
 Retain check with printing
 Present checks
 Move checks
 Roll back checks
 Clear checks

For the Disposition Query operation, this field specifies the buffer in which to place the response to
the query. The field must contain a valid buffer number for this operation.

For all other operations, this field should contain 000.

Reserved
Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in this field, so any character data is acceptable. The
recommended value for this field is 000.

Check Accepted Screen


Valid Range: Valid screen numbers (Section 5.6)
Description: For the Deposit Checks to Escrow operation, this field specifies the screen to display
when the IDMbd has accepted one or more documents for processing.

For the Move Checks operation, this field specifies the screen to display if the terminal returns any
documents to the consumer. The screen is displayed when the documents are presented to the
consumer.

If the value in this field is 000, the terminal does not change the screen currently showing.

Reserved (two fields)


Valid Range: Refer to the description.
Description: Agilis 3 91x ignores the value in these fields, so any character data is acceptable.
This allows compatibility with legacy systems using the Check Handling Delay functionality. For
non-legacy systems, the recommended value for both fields is 000.

Reserved (two fields)


Valid Range: 000 (each field)
Description: These fields are reserved. The fields are present to provide compatibility with
networks running older versions of Agilis 3 91x or TCS.

Maximum Documents in Escrow


Valid Range: 000, and 001 through 255
Description: The Maximum Documents in Escrow field specifies the maximum number of
documents to be accepted and placed in escrow during a Deposit Checks to Escrow operation. If
the number of documents in escrow reaches this maximum, any additional documents in the entry
slot are left in the entry slot, unprocessed.

If the maximum specified in this field is greater than the maximum capacity of the device (30, in the
case of the IDMbd), the terminal uses the maximum capacity of the device as the maximum number
of documents to accept.
If the value in this field is 000, the terminal accepts only a single document during a Deposit Checks
to Escrow operation.

Check Index Buffer ID


Valid Range: Valid buffer numbers, and 000
Description: The Check Index Buffer ID field specifies the buffer containing the check index
number for an operation. The check index number represents a corresponding document placed in
escrow during the initial processing of the document stack.

The specified buffer must contain a two-digit decimal number formatted as an ASCII text string. For
example, to specify a check index number of 3, the check index buffer must contain the characters
03 (hex 30 33). The check index number of the first document in escrow is 01.

6.5.8 Multiple Functions (MFb) Function Data

The format of the Multiple Functions Function Data entries is shown in Table 6-42. The Multiple
Functions Function Data allows the terminal to accept multiple enhanced Function Command
messages without requiring Consumer Request messages between each enhanced Function
Command message. This function allows the network, for example, to send a lot of print data in
multiple Function Command messages. This must be the last function ID in the enhanced Function
Command message.

Table 6-42 Multiple Functions Function Data Format


Entry Valid Range
Group ID (Device ID) MF b
Data 001

The following paragraphs describe each field in the Multiple Functions Function Data.

Group ID (Device ID)


Valid Range: MF b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the multiple functions is MF b.

Data
Valid Range: 001
Description: The Data entry must contain 001.

6.5.9 Printer (PRb) Function Data for the Receipt Printer

The format of the Printer Function Data entries for the receipt printer is shown in Table 6-43. The
Printer Function Data directs the terminal to perform specific receipt printer operations. The
Operation entry in the Function Data determines which operation the terminal performs.

Table 6-43 Printer Function Data Format for Receipt Printer


Entry Valid Range
Group ID (Device ID) PR b
Unit Number 001
Operation 101 - 104
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Print Buffer ID 'A' - 'Z', 256 - 355
Unremoved Document Flag 000

The following paragraphs describe each field in the Printer Function Data for the receipt printer.

Group ID (Device ID)


Valid Range: PR b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the receipt printer is PR b.

Unit Number
Valid Range: 001
Description: The unit number for the receipt printer function data must be 001.

Operation
Valid Range: 101 through 104
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Printer function data for the receipt printer.

101 (Print, do not wait). Print the data on the consumer's receipt. Do not wait for the operation to
complete. The terminal immediately goes to the next function specified in the message.

If the print data contains a form feed control character (0C hex), and the receipt is not taken before
the time specified in the Consumer Response Time entry expires, the terminal retains or dumps the
receipt (if the printer has that capability). If a receipt is retained or dumped due to a timeout, the
terminal sends the network an unsolicited status indicating an automatic document retain or dump.

If the Consumer Response Time entry is 000, the terminal uses timer 21 instead. If the value of
timer 21 is also 000 (timer 21's default value), the terminal does not automatically retain or dump
the receipt.

102 (Deliver, do not wait). Deliver the printed form. Do not wait for the operation to complete. The
terminal immediately goes to the next function specified in the message.

If the receipt is not taken before the time specified in the Consumer Response Time entry expires,
the terminal retains or dumps the receipt (if the printer has that capability). If a receipt is retained or
dumped due to a timeout, the terminal sends the network an unsolicited status indicating an
automatic document retain or dump.

If the Consumer Response Time entry is 000, the terminal uses timer 21 instead. If the value of
timer 21 is also 000 (timer 21's default value), the terminal does not automatically retain or dump
the receipt.

103 (Deliver and wait). Deliver the printed form. Wait for the operation to complete. The terminal
goes to the next function specified in the message after the consumer has taken the delivered form
or if there is no form to be delivered.
If the receipt is not taken before the time specified in the Consumer Response Time entry expires,
the terminal sends the network a solicited status indicating a consumer timeout. The terminal does
not automatically retain or dump the receipt.

If the Consumer Response Time entry is 000, the terminal goes to the next function specified in the
message immediately after delivering the receipt. The terminal does not wait for the consumer to
take the receipt.

104 (Print and wait). Print the data on the consumer's receipt. Wait for the operation to complete.
The terminal goes to the next function specified in the message after all the data has been printed.

If the print data contains a form feed control character (0C hex), the terminal delivers the receipt
before going to the next function specified in the message, but the terminal does not wait for the
consumer to take the receipt. If the receipt is not taken, the terminal does not automatically retain or
dump the receipt.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the function is being performed. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000 through 255, 900 through 931, and 999
Description: The Consumer Response Time entry defines the amount of time that the terminal
waits for the consumer to take the delivered document.

This entry is used only with operations 001, 002, and 003.If the operation is not 001, 002, or 003,
this entry is not used and must be 000.

The valid values for this entry are as follows:

 000 - The interpretation depends on which operation is specified, as follows:


o Operations 001 and 002 - Use timer 21 (If the value of timer 21 is 000, the terminal
does not automatically retain or dump the receipt.)
o Operation 003 - Go to the next function immediately after delivering the receipt
 001 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931
 999 - Wait forever (no beeping)

Print Buffer ID
Valid Range: 'A' through 'Z', and 256 through 355
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal
prints on the receipt printer. The terminal prints the buffer data only when the Operation entry
specifies a print operation (operation 101 or 104). The network must place the print data in this
buffer before the terminal processes the Printer function.
NOTE

The following entry (Unremoved Document Flag) is optional.

Unremoved Document Flag


Valid Range: 000
Description: The Unremoved Document Flag entry is reserved for future use.

6.5.10 Printer (PRb) Function Data for the Journal Printer

The format of the Printer Function Data entries for the journal printer is shown in Table 6-44. The
Printer Function Data directs the terminal to perform specific journal printer operations. The
Operation entry in the Function Data determines which operation the terminal performs.

Table 6-44 Printer Function Data Format for Journal Printer


Entry Valid Range
Group ID (Device ID) PR b
Unit Number 002
Operation 101, 104
Screen Number Valid screen numbers
Reserved 000
Print Buffer ID 'A' - 'Z', 256 - 355

The following paragraphs describe each field in the Printer Function Data for the journal printer.

Group ID (Device ID)


Valid Range: PR b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the journal printer is PR b.

Unit Number
Valid Range: 002
Description: The unit number for the journal printer function data must be 002.

Operation
Valid Range: 101 and 104
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Printer function data for the journal printer.

101 (Print, do not wait). Print the data on the journal printer's audit roll. Do not wait for the
operation to complete. The terminal goes immediately to the next function specified in the message.

104 (Print and wait). Print the data on the journal printer's audit roll. Wait for the operation to
complete. The terminal goes to the next function specified in the message after all the data has
been printed.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the function is being performed. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Reserved
Valid Range: 000
Description: This entry is reserved.

Print Buffer ID
Valid Range: 'A' through 'Z', 256 through 355
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal
prints on the journal printer. The network must place the print data in this buffer before the terminal
processes the Printer function.

6.5.11 Printer (PRb) Function Data for the Electronic Journal

The format of the Printer Function Data entries for the electronic journal is shown in Table 6-45. The
Function Data directs the terminal to perform specific electronic journaling operations. The
Operation entry in the Function Data determines which operation the terminal performs.

Table 6-45 Printer Function Data Format for Electronic Journal


Entry Valid Range
Group ID (Device ID) PR b
Unit Number 003
Operation 101, 104
Screen Number Valid screen numbers
Consumer Response Time 000
Print Buffer ID 'A' - 'Z', 256 - 355

The following paragraphs describe each field in the Printer Function Data for the electronic journal.

Group ID (Device ID)


Valid Range: PR b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the electronic journal is PR b.

Unit Number
Valid Range: 003
Description: The unit number for the electronic journal function data must be 003.

Operation
Valid Range: 101 and 104
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Printer function data for the electronic
journal.

101 (Print, do not wait). Print the data on the electronic journal device. Do not wait for the
operation to complete. The terminal goes immediately to the next function in the message.

104 (Print and wait). Print the data on the electronic journal device. Wait for the operation to
complete. The terminal goes to the next function in the message after the device successfully prints
all the data or a fault is encountered.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the function is being performed. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Consumer Response Time


Valid Range: 000
Description: This entry is not used for electronic journal operations.

Print Buffer ID
Valid Range: 'A' through 'Z', and 256 through 355
Description: The Print Buffer ID entry identifies the buffer that contains the data that the terminal
prints on the electronic journal device. The network must place the print data in this buffer before
the terminal processes the Printer function.

6.5.12 Passbook Printer PB (b) Function Data

The format of the Passbook Printer Function Data entries is shown in Table 6-46. The Passbook
Printer Function Data directs the terminal to perform specific passbook printer operations. The
Operation entry in the Function Data determines which operation the terminal performs.

Table 6-46 Passbook Printer Function Data Format


Entry Valid Range
Group ID (Device ID) PB b
Unit Number 001
Operation 002-006
Screen Number Valid screen numbers
[1]
Consumer Response Time 000-255, 922, 931, 999
[2]
Redeliver Screen Valid screen numbers
[3]
Print Buffer ID 'V'
[1]
This field is included in the function data for operations 003 and 004 only
[2]
This field is included in the function data for operation 003 only
[3]
This field is included in the function data for operation 002 only.

The following paragraphs describe the fields for the Passbook Printer Function Data.

Group ID (Device ID)


Valid Range: PB b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for the passbook printer is PB b.

Unit Number
Valid Range: 001
Description: The unit number for the Passbook Printer Function Data must be 001.

Operation
Valid Range: 002 through 006
Description: The Operation entry tells the terminal which operation to perform. The following
paragraphs describe the operations that are valid for the Passbook Printer function data.

002 (Print passbook). The terminal prints the data in the passbook and waits for the operation to
complete. After all the data has been printed, the terminal goes to the next function specified in the
message.

003 (Accept passbook). If there is no passbook in escrow, the passbook printer is enabled, and
the terminal shows the screen specified in the Screen Number entry (which typically prompts the
consumer to insert the passbook). If the time specified in the Consumer Response Time entry
expires before the consumer inserts a passbook, the terminal shows the More Time screen and
starts timer 01. If timer 01 then expires without the consumer responding, the terminal sends the
network a solicited status indicating a consumer timeout, then waits for the next Function Command
message.

If the passbook printer is capable of reading and writing magnetic stripes, and if magnetic stripe
reading is enabled, then the terminal reads the magnetic stripe. The terminal places this data in
buffer 329.

If the passbook printer is capable of reading page numbers and detecting blank lines, and if
automatic line finding is enabled, then the terminal reads the page number and the line number.
The terminal places this data in buffers 327 and 328, respectively.

The Cancel key is enabled during this operation.

If the passbook is in escrow as the result of a previous accept operation, the terminal goes
immediately to the next function in the message.

NOTE

It is the responsibility of the network programmer to ensure that, after a successful


passbook accept operation, the passbook is either returned (operation 004) or retained
(operation 005) sometime before closing the consumer session (state J or state @Z).
004 (Return passbook). The passbook is moved from the escrow position to the present position
to allow the consumer to retrieve the passbook. The terminal shows the screen specified in the
Screen Number entry (which typically prompts the consumer to remove the passbook), and timer
931 is started.

If timer 931 expires before the passbook is removed from the passbook printer, the terminal sends
the network a solicited status indicating a timeout during present status, then waits for the next
Function Command message. The terminal performs the delivery timeout action (retain passbook or
leave passbook presented) specified in the Agilis Configuration Utility.

If there is no passbook in the escrow position, the terminal sends the network a solicited status
indicating a return passbook failure, then waits for the next Function Command message.

The Cancel key is disabled during operation 004.

005 (Escrow passbook). The passbook is retained and the entry slot is closed. The terminal shows
the screen specified in the Screen Number entry (which typically informs the consumer that the
passbook is being retained). When the escrow operation has been successfully completed, the
terminal goes to the next function in the message.

If there is no passbook in the entry slot, the terminal sends the network a solicited status indicating
a retain passbook failure, then waits for the next Function Command message.

NOTE

For passbook printers without a retain bin, once a passbook is escrowed, no further
passbook transactions are allowed until the passbook printer has been serviced by purging
the escrowed passbook. The passbook must be purged using proper maintenance
procedures or a passbook printer self-test.

006 (Write on stripe). This operation requires a passbook printer that has the capability of writing
data on the magnetic stripe of a passbook. The terminal writes the contents of buffer 329 on the
magnetic stripe of a passbook. The terminal waits for the operation to complete.

The magnetic stripe data that is to be written to the passbook must be placed in buffer 329 before
performing this operation. The valid range of characters for magnetic stripe data is A to F; 0 through
9 : ; and < = > (ASCII hex 30 through 3F). The maximum number of characters that can be printed
on a magnetic stripe is 50.

Screen Number
Valid Range: Valid screen numbers
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the terminal performs a passbook operation. The valid values are as
follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

NOTE

The following field is included in the function data for operations 003 and 004 only. For all
other operations, this field must be omitted from the function data.
Consumer Response Time
Valid Range: 000 through 255, 922, 931, and 999
Description: The Consumer Response Time field defines the amount of time that the terminal waits
for the consumer to insert a passbook into the passbook printer.

This field is used only with operation 003 (accept passbook). For operation 004 (return passbook),
the value in this field is ignored, because timer 931 is always used for a return operation.

The valid values for this entry are defined as follows:

 001 through 255 - Number of ticks (no beeping)


 922 and 931 - Configured timers 922 and 931
 000, 999 - Wait forever (no beeping)

NOTE

Agilis 3 91x automatically uses timers 922 and 930 for page-turning procedures. Also, Agilis
automatically uses timer 931 for all return operations other than the return during a manual
page-turning procedure. The timeout intervals for these timers must be appropriate for those
operations. To use one of those timers for the consumer response time, the network
programmer must ensure that the timeout interval serves both uses equally well.

NOTE

The following field is included in the function data for operation 003 only. For all other
operations, this field must be omitted from the function data.

Redeliver Screen
Valid Range: Valid screen numbers
Description: The Redeliver Screen field specifies the number of the screen to be displayed during
operation 003 (accept passbook) if a passbook was left in the entry slot from a previous attempt to
return the passbook. This situation can occur if the delivery timeout action specified in the Agilis
Configuration Utility is Leave Passbook Presented. Typically, this screen prompts the consumer to
remove the passbook and insert their own passbook in order to proceed with the transaction.

The valid values for the Redeliver Screen field are as follows:

 000 - Do not change the screen currently showing


 Non-zero screen numbers - Display the specified screen

NOTE

The following field is included in the function data for operation 002 only. For all other
operations, this field must be omitted from the function data.

Print Buffer ID
Valid Range: ' V '
Description: The Print Buffer ID entry identifies which buffer contains the data that the terminal
prints on the passbook printer. The print data must be placed in this buffer before performing the
print operation.

Table 6-47 describes the required format of the data in the print buffer.

Table 6-47 Print Buffer Format for the Passbook Printer


Entry Number of Characters Valid Range
Line Number 2 00-99
[1]
Unit Separator (US) 1 hex 1F
[1]
Page Number 2 01-99
Reserved 1 0
Re-insert Passbook Screen 3 Valid screen numbers
Turn Page Screen 3 Valid screen numbers
Reserved 3 000
Updating Passbook Screen 3 Valid screen numbers
Continuation Prompt Screen 3 Valid screen numbers
Transaction Canceled Screen 3 Valid screen numbers
Page Header Variable Variable
Unit Separator (US) 1 hex 1F
Printer Data Variable Variable
[1]
The Page Number field and the unit separator that precedes it are optional for passbook printers
with automatic page turning capability.

The following paragraphs describe each of the entries in the print buffer.

Line Number
Number of Characters: 2
Valid Range: 00 through 99
Description: The Line Number entry specifies the starting line number for printing in the passbook.
This entry is used only with the first block of print data. After the first block, the terminal ignores the
value in this entry, although the entry must be present.

If this entry contains the value 00, the passbook printer starts printing on the current line.

NOTE

The following field and the unit separator that precedes it are optional for passbook printers
with automatic page turning capability. If the passbook printer does not have automatic page
turning capability, the field and the unit separator must be omitted from the data.

Page Number
Number of Characters: 2
Valid Range: 01 through 99
Description: The Page Number entry specifies the starting page number for printing in the
passbook. The terminal uses the automatic page turning capability of the passbook printer to turn
pages forward or backward to reach the specified page.

If this entry is not included in the print data, the passbook printer starts printing on the current page.

Reserved
Number of Characters: 1
Valid Range: 0
Description: This entry is reserved.

Re-insert Passbook Screen


Number of Characters: 3
Valid Range: Valid screen numbers
Description: This entry specifies the screen to display after the consumer retrieves the passbook
during a manual page-turning procedure. Typically, this screen prompts the consumer to re-insert
the passbook after the consumer turns the passbook page. Timer 922 specifies the time allotted for
the consumer to re-insert the passbook.

If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.

Turn Page Screen


Number of Characters: 3
Valid Range: Valid screen numbers
Description: This entry specifies the screen to display at the start of a manual page-turning
procedure, when the passbook printer returns the passbook to the consumer. Typically, this screen
prompts the consumer to remove the passbook from the passbook printer and turn to a blank
passbook page. Timer 930 specifies the time allotted for the consumer to remove the passbook.

If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.

Reserved
Number of Characters: 3
Valid Range: 000
Description: This entry is reserved.

Updating Passbook Screen


Number of Characters: 3
Valid Range: Valid screen numbers
Description: This entry specifies the screen to display at the end of a manual page-turning
procedure, when the consumer has successfully re-inserted the passbook into the passbook printer.
Typically, this screen informs the consumer that passbook printing is in progress.

If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.

Continuation Prompt Screen


Number of Characters: 3
Valid Range: Valid screen numbers
Description: The Continuation Prompt Screen entry is used only if Agilis 3 91x is configured to
show an end-of-page continuation prompt. This entry specifies the screen to display after the
consumer retrieves the passbook during a manual page-turning procedure, before displaying the
Re-insert Passbook screen. This screen prompts the consumer to indicate that passbook printing
should be terminated (by pressing function key C), or that passbook printing should continue (by
pressing function key D). For example, the consumer could cancel further printing if the passbook
has no more blank pages (that is, all the pages are filled).

If the consumer chooses to continue, the terminal then displays the Re-insert Passbook screen and
continues the page-turning procedure.

If the consumer chooses to terminate passbook printing, the terminal displays the Transaction
Canceled screen and terminates the printing operation.

If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.

Transaction Canceled Screen


Number of Characters: 3
Valid Range: Valid screen numbers
Description: This entry specifies the screen to display if the consumer cancels the remainder of the
passbook printing operation in response to the Continuation Prompt screen. Typically, this screen
acknowledges that the consumer has canceled the transaction.

If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.

Page Header
Number of Characters: Variable (one line, maximum)
Valid Range: Text (hex 20 through 7E, ASCII) and control sequences
Description: The Page Header entry contains the data to use as a page header at the start of each
passbook page. The terminal prints this page header on the first line of each page.

Printer Data
Number of Characters: Variable (limited only by the total length limit for the message)
Valid Range: Text (hex 20 through 7E, ASCII), LF (hex 0A), and CR (hex 0D). Passbook printers
using a graphics-related strategy can include the control sequences in the printer data.
Description: The Printer Data entry contains the data for printing one or more lines in the
passbook.
Table 6-48 Passbook Printer Control Sequences (graphics-related strategies)
Control
Sequence Description
LF Moves the print head to the beginning of the next line
CR Moves the print head to the beginning of the current line
ESC E 0 Disables emphasized (bold) printing
[1]
ESC E 1 Enables emphasized (bold) printing
ESC f "nn...n" Selects a Unicode font.

Example: ESC f "Lucida Console"

Font names are limited to 32 characters. The font is reset to the default at the
end of each print line.
ESC u 0 Ends a Unicode encoding block
ESC u 1 n Begins a Unicode encoding block. The following values have been defined for n:

 7 - UTF-7
 8 - UTF-8
 b - UTF-16, big endian
 l - UTF-16, little endian

[1]
Depending on the font being used, there might be little difference between emphasized and non-
emphasized printing.

6.5.13 Do Nothing (.Ab) Function Data

The format of the Do Nothing Function Data entries is shown in Table 6-49. The Do Nothing
Function Data tells the terminal to display a screen to the consumer without performing a device
function.

For example, the network can use a Do Nothing function to exit from a Transaction Request state
after receiving a Solicited Status message from the terminal indicating a device fault.

The network can also use a Do Nothing function simply to show a screen for a specified length of
time. For example, the network directs the terminal to show a PLEASE TAKE YOUR CASH screen
for 10 seconds after a dispense operation.

The Screen Wait Time entry contains the amount of time that the terminal shows the screen before
going to the next operation specified in the message.

Table 6-49 Do Nothing Function Data Format


Entry Valid Range
Group ID (Device ID) .A b
Screen Number Valid screen numbers
Screen Wait Time 001 - 255, 900 - 931

The following paragraphs describe each field in the Do Nothing Function Data.

Group ID (Device ID)


Valid Range: .A b
Description: The Group ID (Device ID) entry identifies the specific device that the following function
data is for. The only valid value for Do Nothing function data is .A b.

Screen Number
Valid Range: Valid screen numbers (Section 5.6)
Description: The Screen Number entry specifies the number of the screen that the terminal shows
on the consumer display when the function is being performed. The valid values are as follows:
 000 - Do not change the screen currently showing
 Non-zero screen numbers - Display the specified screen

Screen Wait Time


Valid Range: 001 through 255, and 900 through 931
Description: The Screen Wait Time entry tells the terminal the amount of time to show a screen
before going to the next operation. The valid values for this entry are as follows:
 000 through 255 - Number of seconds (no beeping)
 900 through 931 - Configured timers 900 through 931

6.6 Write Command 5 Message (Open Account Relationship)

This message writes Open Account Relationship (OAR) screen data to the consumer display during
transactions. The 91x style screens support in Write Command 5 message. Figure 6-3 illustrates
the message sequence.

Figure 6-3 Write Command 5 Message Sequence


All OAR screen data must be transmitted in one message (the maximum length of this message is
8192 characters). After this Write Command 5 message, the terminal waits for a consumer
response or a timeout. When a function key or the Cancel key is pressed or the screen timer
expires, the terminal responds with a Consumer Request message. The Consumer Request
messages contains General Purpose Buffer B information.

Table 6-50 shows the Write Command 5 message format when used with a 91x style screen.

Table 6-50 Write Command 5 Message (91x style screen)


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Write Command Identifier 3 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Write Identifier (OAR) 2 1
Display Flag --- 1
[1]
[ Format Template ] [---] [3]
[2]
[ Options ] [---] [3]
Active Keys --- 6, 10, or 14
Field Separator (FS) hex 1C 1
Screen Timer --- 3
Field Separator (FS) hex 1C 1
Screen Data --- Variable
Protocol Dependent Trailer Variable Variable
[1]
The Format Template field is only included if the Display Flag field is 3 or 4.
[2]
The Options field is only included if the Display Flag field is 4.

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Message ID
Field Size: 1 character
Valid Range: 3
Description: This one-character data field defines the type of message being transmitted. The only
valid value for the Write Command 5 message is 3.

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The terminal includes the LUNO (and the terminal's six-character machine
number, if defined AND MAC is enabled) in messages sent to the network. If desired, the network
can put the LUNO (and machine number, if applicable) in messages sent to the terminal. However,
the terminal ignores any data that it receives in this field.

The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).

Message Sequence Number


Field Size: Variable (up to 8 characters)
Valid Range: Refer to the description.
Description: The message sequence number is a network-generated number that identifies the
message for tracking. The network can send this number to the terminal in Function Command
messages, Write Command messages, and Operational Command messages. The terminal does
not use this number, but if the Message Sequence Number in Solicited Status Messages feature is
selected, Agilis 3 91x returns this number to the network in the Solicited Status message sent in
response to the network's message.

Write Identifier
Field Size: 1 character
Valid Range: 2
Description: This one-character data field tells the terminal that OAR screen data follows. The valid
value is 2.

Display Flag
Field Size: 1 character
Valid Range: 0 through 4
Description: This one-character field directs the terminal display as follows:
 0 - Display Xs as consumer response.
 1 - Display consumer response.
 2 - Display Xs as consumer response.
 3 - Use the Format Template specified in the three characters that follow the Display Flag
field in the OAR Write Command 5 message.
 4 - Use the options specified in the three-character Options field.

The keyed response is stored in General Purpose Buffer B for later transmission in a Consumer
Request message.

Format Template
Field Size: 3 characters
Valid Range: 001 through 099
Description: This three-character field is only necessary if the Display Flag field is 3 or 4. This field
tells the terminal which Format Template to use for this transaction.

Options
Field Size: 3 characters
Valid Range: 000 through 003
Description: This three-character Options field is only included if the Display Flag field is 4. The
Options field is a bit-mapped field. Add the bit-mapped option values together to select more than
one option. The option values are defined as follows:
 000 - No options set.
 001 - Want more time enabled. This setting allows the More Time screen to be displayed if
the user fails to enter data in the amount of time between each key as defined by timer 00.
 002 - Function Key required to terminate OAR and send up Transaction Request. This
setting allows the consumer to stay in the OAR function after the format template has been
filled. It forces the consumer to press a function key (A,B,C, and so on) to exit the OAR
function.

Active Keys
Field Size: Up to 14 characters
Valid Range: 0 and 1
Description: This field either activates or deactivates keypad keys for consumer responses. This
field can contain 6, 10 or 14 characters, depending on the number of function keys on the terminal.
A graphic 0 deactivates, while a graphic 1 activates, the selected key(s) as follows:
 First character selects all numeric keys
 Second character selects function key A
 Third character selects function key B
 Fourth character selects function key C
 Fifth character selects function key D
 Sixth character selects the Cancel key (function key E)
 Seventh character selects function key F
 Eighth character selects function key G
 Ninth character selects function key H
 Tenth character selects function key I
 Eleventh character selects function key J
 Twelfth character selects function key K
 Thirteenth character selects function key L
 Fourteenth character selects function key M

NOTE

If the terminal is using the Voice feature and a function key (J, K, L, or M) has been assigned
as a volume key or a repeat key, Agilis 3 91x ignores any attempt to enable that function key
for any other use during a consumer session. For details, refer to Section 5.11.

Screen Timer
Field Size: 3 characters
Valid Range: 000 through 255
Description: This three-character field determines the timeout intervals for the consumer display.
Graphic characters represent 001 to 255 in seconds for a specific timeout range. If the terminal
timed out waiting for the consumer to respond (by means of keypad entry) to a screen command,
the last character in General Purpose Buffer B is T. Entering 000 gives an infinite display time.

Screen Data
Field Size: Variable
Valid Range: ASCII characters
Description: This is a variable-length field that represents data to be displayed on the consumer
display. The screen data can include voice prompting commands and voice keypad feedback
commands (Section 5.11).

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

6.7 Common Command Reject Conditions

The terminal sends Common Command Reject status if an error is detected in any command sent
from the network to the terminal. The following examples cause a command reject from a terminal:

 Message ID field was not a 1, 3 or 4.


 End of text field was found within three field separators of the Write Command field.
 Three-byte graphic decimal field (for example, state table data) is out of range (000 - 511).
 Two-byte ASCII field does not convert to 00 through 99 (for example, terminal timer 07: hex
30 37 converts to 07).
 Dispense amount exceeds 30 bills on either side.
 End of text field or a field separator was in the transaction serial number field.
 Error found in Function Command screen number data field or screen display update field.
 Field separators do not follow the Next State ID field and the Screen Display Update Data
field.
 Message coordination number field was not the number issued by the terminal and not a 0.
 Printer Flag field was not 0, 1, 2, or 3.
 Command Code field was not 1, 2, 3, 9 or :.
 Write Command message other than OAR was received while the terminal was in-service
and the terminal is configured to reject Write Command messages while In-service.
 Write Command Modifier field was not 1 through 6 or @.
 Write Command Identifier field was not 1, 2 or 3.
 Configuration ID Number field contains End of Text code.
 The Logical Unit Number field contains End of Text code.
 Field Separator and a FIT number were not between FIT table data in a Write Command 6
(FIT data) message that contains multiple FIT entries.
 There was not enough available terminal memory to accommodate all data in a Write
Command 2 (screen data) or Write Command 6 (FIT data) message.
 The Active Keys field in the Write Command 5 (Open Account Relationship) message
contains an End of Text code or a Field Separator.
 Write Command Modifier for Write Command 7 (encryption key change) message was not
in the range of 1 through 7.
 The terminal is in the In-service mode, but not in the Transaction Request state.
 A message is missing a non-optional field.
 A field in a message contains an invalid character.
 The terminal does not have enough available memory to store all the downloaded data.
 The Write Command II message File Data sent was not well-formed XML.

If any of the following occurs in a Function Command message, the terminal sends a general
command reject Solicited Status message.

 The terminal received a Function Command message when the terminal was not in the
Transaction Request state.
 The terminal received a message coordination number that was not 0 or the number issued
by the terminal in the Consumer Request message.
 The terminal received a Function Command message that contains more than eight
function identifiers.
 The terminal attempted to operate a single device twice in the same Function Command
message. For example, the terminal sends a Solicited Status message containing a general
command reject status if the network sends function identifiers D and H (for two prints) in
the same Function Command message.

Figure 6-4 Function Command Message Accept/Reject Flowchart


Section 7
Operational Command Messages
The Operational Command message is transmitted by the network to start up or shut down the
terminal, to request a configuration ID, or to perform any of several other operations. This section
describes various aspects of Operational Command message exchanges as follows:

 Basic Operational Command message (Section 7.1)


 Terminal Reboot Operational Command (Section 7.2)
 Retrieve, then Set or Clear Enhanced Supply Counts message (Section 7.3)
 Configuration information (Section 7.4)
 Supply counts (Section 7.5)
 Enhanced Operational Command message (Section 7.6)

7.1 Basic Operational Command Message

Table 7-1 shows the basic format of the Operational Command message.

Table 7-1 Basic Operational Command Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Operational Command Identifier 1 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Command Code --- 1
[ Data ] [---] [ Variable ]
[1]
Field Separator (FS) hex 1C 1
[1]
Status Flag --- 1
[1] [2]
Device Name --- 4

Protocol Dependent Trailer Variable Variable


[1]
These fields are included only if Command Code field is = and the network wants to run an
individual device self test
[2]
The Device Name field can be repeated for as many devices as need to be tested.

The following paragraphs describe the fields in the basic Operational Command message.

Protocol Dependent Header


Field Size: Variable
Valid Range: Variable
Description: The Protocol Dependent Header field contains one or more characters used for
communications protocol processing. The contents of the field depend on the communications
protocol used by the system. Refer to your system's network documentation for protocol header
requirements, and to the documentation supplied with the Agilis Base Communications software for
implementation instructions.

Message ID
Field Size: 1 character
Valid Range: 1
Description: This one-character data field defines the type of message being transmitted. The only
valid value is 1, Consumer Request message or Operational Command message

Logical Unit Number (LUNO)


Field Size: 3 or 9 characters
Valid Range: Printable characters (ASCII hex 20 through 7E)
Description: The three-character logical unit number (LUNO) identifies the terminal for text-level
tracking at the network. The terminal includes the LUNO (and the terminal's six-character machine
number, if defined AND MAC is enabled) in messages sent to the network. If desired, the network
can put the LUNO (and machine number, if applicable) in messages sent to the terminal. However,
the terminal ignores any data that it receives in this field.

The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).

Message Sequence Number


Field Size: Variable (up to 8 characters)
Valid Range: Refer to the description.
Description: The message sequence number is a network-generated number that identifies the
message for tracking. The network can send this number to the terminal in Function Command
messages, Write Command messages, and Operational Command messages. The terminal does
not use this number, but if the Message Sequence Number in Solicited Status Messages feature is
selected, Agilis 3 91x returns this number to the network in the Solicited Status message sent in
response to the network's message.

Command Code
Field Size: 1 character
Valid Range: Refer to the description.
Description: This one-character field is used to identify the type of command. The valid values for
this field are as follows.

1 - Go in-service. Go in-service to consumers (startup ). This command is used as part of a


terminal power-up sequence to put the terminal into service after the terminal powers up and the
terminal configuration data is downloaded. The command is also used to put the terminal back into
service when the terminal exits from Maintenance mode, or after a Go Out-of-service command.

2 - Go out-of-service. Go out-of-service to consumers (shutdown ). This command places the


terminal temporarily out of service. Current transactions are completed, and all pending messages
are sent to the network, before the terminal executes the shutdown. Optionally, the Data field can
include the number of a screen to display while the terminal is out of service.

3 - Configuration information request. This command directs the terminal to send configuration
information to the network. The terminal sends Configuration ID status, Hardware Configuration
status , and Cassette status. Refer to Section 7.4 for a detailed description of these statuses.

4 through 8. Reserved.

9 - Retrieve supply counts. This command directs the terminal to send basic supply counts to the
network. Refer to Table 7-27 in Section 7.5 for a list of the basic supply counts.
: - Retrieve and clear supply counts. This command directs the terminal to send basic supply
counts to the network, and to reset the counts to zero. Refer to Table 7-27 in Section 7.5 for a list of
the basic supply counts.

; - Retrieve enhanced supply counts. This command directs the terminal to send enhanced
supply counts to the network. Refer to Table 7-28 in Section 7.5 for a list of the enhanced supply
counts.

< - Retrieve, then set or clear enhanced supply counts. This command directs the terminal to
send enhanced supply counts to the network, and to reset the counts to network-specified values.
Refer to Table 7-28 in Section 7.5 for a list of the enhanced supply counts.

To set or clear counts, the message must contain a list of the counts to be set or cleared. For
details, refer to Section 7.3.

= - Run self-test Causes the terminal to run a self-test, provided a consumer is not using the
terminal or the terminal is not in Maintenance mode or Continuous Availability. If any of these
conditions is not met, the command is rejected.

> - Conditional go out-of-service. Conditionally go out-of-service to consumers. This command


takes the terminal out of service only if the terminal is not in use (no consumer session) when the
command is issued. If a consumer is using the terminal or if the terminal is in Maintenance mode,
the terminal rejects the command.

R - Reboot. This command code allows the Host to reboot any terminal running on Agilis 3 91x. For
more information about this command code, refer Section 7.2.

? A B C D F G J and K. Reserved.

Data
Field Size: Variable
Valid Range: Refer to the description.
Description: The Data field is an optional field included only if the command code requires
additional data.

The only command code that might require additional data is 2 (go out-of-service). As an option, the
Data field for this command can specify a screen number for the Out of Service screen to display. If
no screen number is specified, the default Out of Service screen is displayed.

Status Flag
Field Size: 1 character
Valid Range: 0 and 1
Description: The Status Flag field is an optional field used to indicate whether the devices
specified must return a status indicating that the device passed or failed, or (default if not present) if
a status is only sent if the device self test failed. The valid values of this field are as follows:
 0 - No unsolicited status is sent unless there is a fault on the device being tested.
 1 - Unsolicited status is sent whether there is a device fault or not. If there is no fault, a
:00:00:00 J-type status is sent. For example, if the card reader is tested and there is no
fault, the status CR01:00:00:00 is sent.
Device Name
Field Size: 4 characters
Valid Range: Refer to the description
Description: The Device Name field is an optional field included only if the network is requesting an
individual device self test. If this field is not included, then all devices are tested. This field can be
repeated for as many devices as desired. The valid values of this field are as follows:
 CI01 - Currency acceptor
 CR01 - Card reader
 DI01 - Bill dispenser
 DR01 - Presenter
 PR01 - Receipt printer
 PR02 - Journal printer

NOTE

For the Bulk Cash Recycler, if the self test (CI01, DI01, or DR01) results in a hardware fault, a
device reset might occur, depending on the nature of the hardware fault.

If the specified device is not present or if the device is not enabled (set in the Agilis
Configuration Utility), then a :3E:00:00 status is sent to the network in response to the self
test request. If an unknown device name is used, the Operational Command message is
rejected.

Protocol Dependent Trailer


Field Size: Variable
Valid Range: Variable
Description: The variable-length Protocol Dependent Trailer field indicates the end of the
message.

7.2 Terminal Reboot Operational Command Message

The terminal reboot Operational Command message is used to reboot any terminal running the
Agilis 3 91x application. It also specifies the behavior of the terminal in response to the command.

Table 7-2 shows the format of the terminal reboot Operational Command message.

Table 7-2 Terminal Reboot Operational Command Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Operational Command Identifier 1 1
[Response Flag] [X] [1]
Field Separator hex 1C [1]
[Logical Unit Number (LUNO)] [X] [3 or 9]
Field Separator hex 1C [1]
[Message Sequence Number] [X] [Variable (8 Max)]
Field Separator hex 1C [1]
Command Code (Terminal Reboot) R 1
[1]
Timeout Value [X] [4]
[2]
Fully Qualified Shutdown Script Path [Variable] [Variable]
Protocol Dependent Trailer Variable Variable
[1]
Timeout Value is an optional field. If this field is present, then the value must be a 4 digit number
from 0000 to 9999.
[2]
Fully Qualified Shutdown Script Path is an optional field.

The following paragraphs describe the fields of the terminal reboot Operational Command message
that are different from the basic Operational Command message.

Timeout Value and Fully Qualified Shutdown Script Path


The terminal reboot Operational Command includes the following two optional fields:
 Timeout value
The Timeout value is an optional 4 digit numeric entry, specified in seconds. The range for
this value is from 0000 to 9999 seconds. If the terminal is not in a state to reboot by the
time this timer expires, then the operational command will be rejected and no reboot
attempt will be made.
For example, 0060 for 60 seconds.
 Fully qualified shutdown script path
The shutdown script path is an optional fully qualified path and filename of an application or
a script that must be started prior to starting the Agilis 3 91x application reboot process. The
shutdown script can allow additional processing before the standard reboot script runs. If
this script is specified, then it must complete within 10 minutes, or it will be terminated.
For example, C:\Program Files\Diebold\Agilis EmPower\CustomerShutdownScript.bat.

If no timeout value is specified, the terminal will initiate an ATM Soft Lock operation and wait until
the end of the Consumer session or Maintenance session. The terminal will then be locked and the
shutdown script, if specified, will be executed followed by a reboot of the terminal.

If a timeout value is specified, the system will initiate an ATM Soft Lock operation and wait until the
end of the Consumer session or Maintenance session, or until the timeout value (seconds) expires.

If a Consumer or Maintenance session is completed before timeout, then the terminal will be locked
and the shutdown script, if specified, will be executed followed by a reboot of the terminal.

If the Consumer or Maintenance session is not completed before the timeout expires, the lock
operation will be aborted and a command reject, such as 22&mldr;D.11R11, indicating that the
terminal is busy and the Operational Command cannot be processed will be sent to the host.

NOTE

Agilis 3 91x SP3 and later use Agilis Startup Manger (ASM) to configure how applications
start when the terminal is booting. ASM can also be used to reboot a terminal if a terminal-
resident application crashes and to run any initialization programs that might need to be
executed before the applications are started.
Each application that is started can have a shutdown script associated with it. This
shutdown script will be executed when ASM is commanded to shutdown the terminal or
logoff from the Diebold_ATM account. It is recommended that you use ASM to configure the
order in which applications will startup and shutdown.

ASM can be accessed in ACU by selecting the System mode and navigating to ACU >
Startup > Startup Settings configuration screen. Use the Applications to start table on this
screen to configure the startup and shutdown of applications.

7.3 Retrieve, then Set or Clear Enhanced Supply Counts

This command provides the capability to set only the counts for the configured cash dispensers
such as AFD, ECRM, to desired values. The other counts may either be reset to zero or left
unaltered.

The format of an Operational Command message used to Retrieve, then Set or Clear Enhanced
Supply Counts is shown in Table 7-3. The fields in the message that are the same as a standard
Operational Command message are shaded in the table. The remainder of the entries are optional.
You only need to include the fields corresponding to the counts that you wish to set or clear. You
must, however, include the first three field separators following the command code.

Groups of fields associated with particular devices are shown by footnote numbers in Table 7-3.
Each of these groups is optional. If a particular device is included as part of the message, then the
device ID, the associated fields, and any group separators associated with that device must be
included and must appear in the order shown. If a particular device ID is not included, its
associated group separators need not be included.

Table 7-3 Retrieve, then Set or Clear Enhanced Supply Counts Message
Description Data Number of Characters
Protocol Dependent Header Variable Variable
Operational Command Identifier 1 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [X] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [X] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Command Code < 1
[1]
Depository Device ID DP01 4
[1]
Clear Deposit Counts Flag --- 1
Field Separator (FS) hex 1C 1
[2]
Card Reader Device ID CR01 4
[2]
Clear Card Count Flag --- 1
Field Separator (FS) hex 1C 1
[7] [3]
Bill Dispenser Device ID DI01 4
[9]
Field Separator (FS) hex 1C
[9]
Bill Dispenser Device ID DI02
[3]
[ Loaded Count, Position 1 ] [---] [5]
[3]
[ Loaded Count, Position 2 ] [---] [5]
[3]
[ Loaded Count, Position 3 ] [---] [5]
[3]
[ Loaded Count, Position 4 ] [---] [5]
[8] [3]
[ Loaded Count, Position 5 ] [---] [5]
[3]
Group Separator hex 1D 1
[3]
[ Dispense Count, Position 1 ] [---] [5]
[3]
[ Dispense Count, Position 2 ] [---] [5]
[3]
[ Dispense Count, Position 3 ] [---] [5]
[3]
[ Dispense Count, Position 4 ] [---] [5]
[8] [3]
[ Dispense Count, Position 5 ] [---] [5]
[3]
Group Separator hex 1D 1
[3]
[ Divert1 Count, Position 1 ] [---] [5]
[3]
[ Divert1 Count, Position 2 ] [---] [5]
[3]
[ Divert1 Count, Position 3 ] [---] [5]
[3]
[ Divert1 Count, Position 4 ] [---] [5]
[8] [3]
[ Divert1 Count, Position 5 ] [---] [5]
[3]
Group Separator hex 1D 1
[3]
[ Divert2 Count, Position 1 ] [---] [5]
[3]
[ Divert2 Count, Position 2 ] [---] [5]
[3]
[ Divert2 Count, Position 3 ] [---] [5]
[3]
[ Divert2 Count, Position 4 ] [---] [5]
[8] [3]
[ Divert2 Count, Position 5 ] [---] [5]
[3]
Group Separator hex 1D 1
[3]
[ Retract Count, Position 1 ] [---] [5]
[3]
[ Retract Count, Position 2 ] [---] [5]
[3]
[ Retract Count, Position 3 ] [---] [5]
[3]
[ Retract Count, Position 4 ] [---] [5]
[8] [3]
[ Retract Count, Position 5 ] [---] [5]
Field Separator (FS) hex 1C 1
[4]
Coin Dispenser Device ID CN01 4
[4]
[ Loaded Count, Position 1 ] [---] [5]
[4]
[ Loaded Count, Position 2 ] [---] [5]
[4]
[ Loaded Count, Position 3 ] [---] [5]
[4]
[ Loaded Count, Position 4 ] [---] [5]
[4]
Group Separator hex 1D 1
[4]
[ Dispense Count, Position 1 ] [---] [5]
[4]
[ Dispense Count, Position 2 ] [---] [5]
[4]
[ Dispense Count, Position 3 ] [---] [5]
[4]
[ Dispense Count, Position 4 ] [---] [5]
[6]
Field Separator (FS) hex 1C 1
[6]
After Hour Depository Device ID AH01 4
[6]
Clear Deposit Counts Flag --- 1

NOTE

All devices and counts preceding this note must occur in the order shown in this table. Any
devices following this note can occur in any order. The terminal examines the device ID in
each block to determine which device and counts are being set or cleared.

[5]
Field Separator (FS) hex 1C 1
[5]
Currency Acceptor Device ID CI01 4
[5]
[ Clear Deposit Counts Flag, Position 0 ] [---] [1]
[5]
[ Clear Deposit Counts Flag, Position 1 ] [---] [1]
[5]
[ Clear Deposit Counts Flag, Position 2 ] [---] [1]
[5]
[ Clear Deposit Counts Flag, Position 3 ] [---] [1]
[5]
[ Clear Deposit Counts Flag, Position 4 ] [---] [1]
[8] [5]
[ Clear Deposit Counts Flag, Position 5 ] [---] [1]

Protocol Dependent Trailer Variable Variable


[1]
This set of fields is optional. The fields only need to be included if the network wants to clear the
depositor counts.
[2]
This set of fields is optional. The fields only need to be included if the network wants to clear the
card reader counts.
[3]
This set of fields is optional. The fields only need to be included if the network wants to set or
clear the bill dispenser counts.
[4]
This set of fields is optional. The fields only need to be included if the network wants to set or
clear the coin dispenser counts.
[5]
This set of fields is optional. The fields only need to be included if the network wants to clear the
currency acceptor counts.
[6]
This set of fields is optional. The fields only need to be included if the network wants to clear the
After Hour depository counts.
[7]
You can either send both the dispenser device IDs in the same message or send any one device
ID in a message. If you are sending both the device IDs in the same message, then the device ID of
the primary cash dispenser must precede the device ID of the secondary cash dispenser.
[8]
Data of 5th cassette must be sent if feed modules is set to 5. Otherwise the command will be
rejected.
[9]
These parameters are applicable for the dual cash out feature only.

The following paragraphs describe the fields different from the standard Operational Command
message.

Depository Device ID
Field Size: 4 characters
Valid Range: DP01
Description: This is a four-character field that indicates the following information affects the
depository.

Clear Deposits Count Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: The Clear Deposits Count Flag tells the terminal to clear the Deposits counts if this
field contains a 1. If it contains a 0, the counts are not cleared, but are included in the Solicited
Status message sent back to the network.

Card Reader Device ID


Field Size: 4 characters
Valid Range: CR01
Description: This is a four-character field that indicates the following information affects the card
reader.

Clear Card Count Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: The Clear Card Count Flag tells the terminal to clear the Retained Cards count if this
field contains a 1. If it contains a 0, the count is not cleared but is included in the Solicited Status
message sent back to the network.

Bill Dispenser Device ID


Field Size: 4 characters
Valid Range: DI01
Description: This is a four-character field that indicates the following information affects the bill
dispenser.

Opteva AFD with Five Dispense Cassettes. The network can retrieve/set/clear bill dispenser
counts for positions 1 through 4 only. For an Opteva AFD with five dispense cassettes, the cassette
in position 5 functions as an extension of one of the other dispense cassettes (Section 3.1), so the
counts for the extended position are actually the combined counts for the extended position and
position 5.

Loaded Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Loaded Count fields load counter information into the Loaded counters for each
dispense position. The Loaded counters record the number of bills loaded at each dispense
position. Typically, these counts are set when the cassettes are loaded in each position. These
counts do not change as bills are dispensed.

Dispense Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Dispense Count fields load counter information into the dispense counters for
each dispense position. The dispense counters keep track of the number of bills successfully
delivered to the consumer from each dispense position. To clear the dispense counters, the
network must send 00000 in each of the Dispense Count fields.

Divert1 Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Divert1 Count fields load counter information into the Divert1 counters for each
dispense position. The Divert1 counters keep track of the number of bills from each dispense
position that are known to have been rejected (sent to the reject bin) during a consumer transaction
because of a mispick or a recovery attempt. To clear the Divert1 counters, the network must send
00000 in each of the Divert1 Count fields.

Divert2 Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Divert2 Count fields load counter information into the Divert2 counters for each
dispense position. The Divert2 counters keep track of the number of bills from each dispense
position that are known to have been rejected (sent to the reject bin) during maintenance or as the
result of a network commanded dump. To clear the Divert2 counters, the network must send 00000
in each of the Divert2 Count fields.

NOTE

Diverted bills are considered as a part of the count of bills remaining inside the terminal.
Therefore, changing either of the divert counters will also change the terminal's Bills
Remaining counters.

Retract Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Retract Count fields load counter information into the Retract counters for each
dispense position. The Retract counters keep track of the number of bills that were accessible to the
consumer but might not have been taken, and something was retracted and placed in the retract
bin. To clear the Retract counters, the network must send 00000 in each of the Retract Count fields.

Coin Dispenser Device ID


Field Size: 4 characters
Valid Range: CN01
Description: This field indicates that the following information affects the coin dispenser.

Loaded Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Loaded Count fields load counter information into the Loaded counters for each
dispense position. The Loaded counters record the number of coins loaded at each dispense
position. Typically, these counts are set when the coins are loaded in each position. These counts
do not change as coins are dispensed.
Dispense Count
Field Size: 5 characters
Valid Range: 00000 through 32767
Description: The Dispense Count fields load counter information into the dispense counters for
each dispense position. The dispense counters keep track of the number of coins successfully
delivered to the consumer from each dispense position. To clear the dispense counters, the
network must send 00000 in each of the Dispense Count fields.

Currency Acceptor Device ID


Field Size: 4 characters
Valid Range: CI01
Description: This is a four-character field that indicates the following information affects the
currency acceptor.

Clear Deposit Counts Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: The Clear Deposit Counts Flag tells the terminal whether to clear the counts for the
specified position. If this field contains a 1, the counts are cleared. If the field contains a 0, the
counts are not cleared.

Clear Deposit Counts Flag fields must be included in the message only up to the highest-numbered
position that the network wants to clear. If the network does not need to clear any currency
acceptor counts, the network can omit all the Clear Deposit Counts Flag fields, or the network can
omit the entire set of currency acceptor fields (including the field separator).

Bulk Cash Recycler. Setting the flag for position 0 to 1 clears the counts for the Universal Accept
cassette or Multiple Acceptance Box in the topmost position of the BCR. Setting this flag also clears
the counts for the counterfeit bill bin.

Positions 1 through 4 are defined as follows:

 Position 1 - Cassette 1
 Position 2 - Cassette 2
 Position 3 - Cassette 3
 Position 4 - Cassette 4

If the BCR functions as both a currency acceptor and a bill dispenser, setting the deposit counts
flags has no effect on dispense-related counts. For example, if one of the cassettes is a recycling
cassette, setting the corresponding deposit counts flag for the cassette clears the deposit counts for
that cassette, but has no effect on the dispense-related counts for that cassette.

Enhanced Cash Recycler Module. Setting the flag for position 0 to 1 clears the counts for the
Universal Accept cassette in the topmost position of the ECRM. Setting this flag also clears the
counts for the counterfeit bill bin.

Positions 1 through 4 are defined as follows:

 Position 1 - Cassette 1
 Position 2 - Cassette 2
 Position 3 - Cassette 3
 Position 4 - Cassette 4

If the ECRM functions as both a currency acceptor and a bill dispenser, setting the deposit counts
flags has no effect on dispense-related counts. For example, if one of the cassettes is a recycling
cassette, setting the corresponding deposit counts flag for the cassette clears the deposit counts for
that cassette, but has no effect on the dispense-related counts for that cassette.

Enhanced Note Acceptor. If the Data Reporting for Multiple Accepting Cassettes option (ACU) is
set to Consolidate Cassettes Data, setting the flag for position 0 to 1 clears the counts for both
deposit cassettes, the retract cassette, and the counterfeit bill bin. Positions 1 through 4 are not
used.

If the option is set to Report Cassette Data Individually, setting the flag for position 0 to 1 clears
the counts for the first deposit cassette, the retract cassette, and the counterfeit bill bin. Setting the
flag for position 1 to 1 clears the count for the second deposit cassette. Positions 2 through 4 are
not used.

Bulk Note Acceptor with free-fall cassette. Setting the flag for position 0 to 1 clears the counts for
the free-fall cassette, the retract area, and the counterfeit bill bin. Positions 1 through 4 are not
used.

Bulk Note Acceptor with Opteva Stacking Cassette. If the Data Reporting for Multiple Accepting
Cassettes option (ACU) is set to Consolidate Cassettes Data, setting the flag for position 0 to 1
clears the counts for both deposit cassettes, the retract area, and the counterfeit bill bin. Positions 1
through 4 are not used.

If the option is set to Report Cassette Data Individually, setting the flag for position 0 to 1 clears
the counts for the first deposit cassette, the retract area, and the counterfeit bill bin. Setting the flag
for position 1 to 1 clears the count for the second deposit cassette. Positions 2 through 4 are not
used.

7.4 Configuration Information

The Configuration Information Request command (command code 3) directs the terminal to send
configuration information to the network. The response from the terminal contains the following
configuration information:

 Configuration ID status (Section 7.4.1)


 Hardware Configuration status (Section 7.4.2)
 Cassette status (Section 7.4.3)

The terminal sends the configuration information in one Solicited Status message, with the value 8
in the Status Descriptor field.

7.4.1 Configuration ID Status (DID = < )

The Configuration ID status data contains the configuration ID of the terminal (previously
downloaded in a Write Command 8 message) and the operating status of the terminal. Refer to
Table 7-4 for detailed bit definitions of this status.
Table 7-4 Configuration ID Status
Abbreviated Bit
Byte Bit Definition Detailed Bit Definition
0 Configuration ID Bytes 0 and 1 represent the four-digit configuration ID number.
and
1
2 7 ----- Not applicable
6 Supervisor This bit is 1 if the Supervisor switch is ON. If the Supervisor switch is
[1]
switch OFF, this bit is 0.
5 Supply switch This bit is 1 if the Supply switch is ON. If the Supply switch is OFF, this
[1]
bit is 0.
4- ----- Not applicable
0
3 7- ----- Not applicable
1
0 Go In-service This bit is set if the terminal is not in the In-service mode, but has
flag received a Startup command. Otherwise, the terminal is in the In-
service, Out-of-service, or Maintenance mode, but has not received a
Startup command.
[1]
For information on the setting of the Supervisor and Supply switches, refer to Section 6.3.2.

7.4.2 Hardware Configuration Status (DID = B)

There are several levels of Hardware Configuration status, depending on the settings in the Agilis
Configuration Utility and the Write Command 3 message settings (Section 5.15). These levels are
as follows:

 Basic Hardware Configuration status


 Expanded Hardware Configuration status
 Double expanded Hardware Configuration status
 Additional Hardware Configuration status

Basic Hardware Configuration Status


The basic Hardware Configuration status consists of eight bytes of status data (Table 7-5). These
eight bytes are always sent in response to a configuration information request, regardless of the
settings in the Agilis Configuration Utility or the Write Command 3 message.
Table 7-5 Basic Hardware Configuration Status Bytes
Byte Bit Definition
0 7 - 0 Terminal type (01 for 911 mode, 02 for 912 mode (international), 03 for 912 mode
(domestic))
1 7 Reserved (always 0)
6 Card reader type (always 0)
5 Enhanced deposit printer (1 if depository present and enabled)
4 Reserved (always 0)
3 Reserved (always 1)
2 Reserved (always 0)
1 Reserved (always 0)
0 Delivery door (1 if presenter or delivery door is present and enabled)
2 7 Reserved (always 0)
6 Reserved (always 0)
5 After Hour depository (reserved, always 0)
4 DES PIN hardware (always 1)
[1]
3 Journal printer (1 if present and enabled)
2 Card reader (1 if present and enabled)
1 Reserved (always 1)
0 Depository (1 if present and enabled)
3 7 - 0 Reserved (always 00)
4 7 - 0 Reserved (always 00)
5 7 - 5 Reserved (always 0)
4 Seventh entry of the machine number
3 - 1 Reserved (always 0)
0 Eighth entry of the machine number
6 7 - 0 Reserved (always 00)
7 7 - 6 Reserved (always 1)
5 If 0, double expanded hardware configuration compatible; if 1, double expanded
hardware configuration not available
4 Receipt printer type (always 0 for non 80-column; at this time, Agilis 3 91x does not
support an 80-column receipt printer device)
3 Receipt printer (1 if present and enabled)
2 Consumer display (1 if present and enabled)
1 Reserved (always 1)
0 Bill dispenser (1 if present and enabled)
[1]
For backwards compatibility with legacy Diebold 91x applications, this bit is also set to 1 when the
electronic journal is enabled (status byte 11, bit 5 - EDC is 1), even though a physical journal printer
may not actually be present in the terminal.

Expanded Hardware Configuration Data


When the Expanded Hardware Configuration Status feature is selected (Write Command 3
message), the terminal sends the eight bytes of the basic Hardware Configuration status (Table 7-
5) plus the eight bytes of data shown in Table 7-6.
Table 7-6 Expanded Hardware Configuration Status Bytes
Byte Bit Definition
8 7 Function keys (0 for four keys, 1 for eight keys)
6 Delivery door type (reserved, always 1)
5 Reserved (always 0)
4 Camera (always 0; at this time, Agilis 3 91x does not support a camera device)
3 Receipt printer paper selection (0, paper with top-of-form mark, 1, blank paper)
2 Consumer display grid (always 1 for 40-by-20 or larger)
1 Function keys mapped to ABCD (0 if right keys, 1 if left keys)
0 i Series/MDS or Agilis 3 91x terminal operating in 912 mode (always 1)
9 7- Receipt printer column width (maximum characters per line) in hex
0
10 Bill denominations present in terminal:
7 Denomination ID H
6 Denomination ID G
5 Denomination ID F
4 Denomination ID E
3 Denomination ID D
2 Denomination ID C
1 Denomination ID B
0 Denomination ID A
11 7 Intelligent Depository Module (IDM) (1 if present and enabled)
6 Coin dispenser (1 if present and enabled)
[1]
5 Electronic Data Capture (EDC) (1 if enabled)
4- Reserved (always 0)
1
0 Dip card reader (1 if present)
12 7- Reserved (always FF)
0
13 7- Reserved (always 00)
0
14 7- Reserved (always 0)
5
4- Function key configuration:
3 00 - Four right-side keys mapped to ABCD
01 - Four left-side keys mapped to ABCD
10 - Eight keys, right side mapped to ABCD, left side mapped to FGHI
11 - Twelve keys, right side mapped to ABCD, left side mapped to FGHI, color keys
mapped to JKLM
2- Receipt printer vendor (always 10)
1
0 Presenter (always 1)
15 7- Terminal Model Number - contains the last three digits of the terminal model number (in
0 hex), for example, for the 1072 it contains hex 48 (072 decimal).
[1]
For backwards compatibility with legacy Diebold 91x applications, when this bit is set to 1, the
journal printer bit (status byte 2, bit 3) is also set to 1 even though a physical journal printer may not
actually be present in the terminal.
Double Expanded Hardware Configuration Status
When the Double Expanded Hardware Configuration Status feature is selected (Write Command 3
message), the terminal sends an additional 11 bytes of Hardware Configuration status (Table 7-6).
Table 7-7 Double Expanded Hardware Configuration Status Bytes
Byte Bit Definition
16 Coin denominations present in the terminal:
7 Denomination ID H
6 Denomination ID G
5 Denomination ID F
4 Denomination ID E
3 Denomination ID D
2 Denomination ID C
1 Denomination ID B
0 Denomination ID A
17 7 - Reserved (always 00)
0
18 7 Reserved
6 Voice feature (1 if enabled)
5 Card reader mounted for magnetic stripe up
4 Track 1 and track 2 card writing capability
3 Smart card (chip card) reader (1 if present)
2 - Reserved (always 0)
0
19 Reserved, undefined (always 00)
20 - 7 - Bytes 20 and 21 contain the bill limit for the bill dispenser as reported by the device's
21 0 XFS SP (if no bill limit is reported, a default value of 50 is set). The bill limit value is sent
as a byte-reversed hexadecimal value. For example, a bill limit of 50 bills is sent as hex
32 00.
22 - Reserved, undefined (always 00) )
26

Additional Hardware Configuration Status


Additional Hardware Configuration status data can be appended to the message. This status
follows the double expanded Hardware Configuration status if the terminal is configured to send
maximum Hardware Configuration status (through the Agilis Configuration Utility), or if the
Additional Hardware Configuration Data feature is selected in a Write Command 3 message
(Miscellaneous Features 3 field, weight 16).

The additional Hardware Configuration status data is in a slightly different format from the other
Hardware Configuration status data. For each device reported, the format of this data is as follows:

Record Separator (RS) hex 1E


Device ID 4 bytes
Configuration Information Variable bytes (not all devices use these bytes)
This information is repeated as needed, one record per device. The devices that have status
reported this way are listed in Table 7-8.

Table 7-8 Devices for Additional Hardware Configuration Status


Configuration
Device ID Device Information
CI01 Currency acceptor Section 7.4.2.1
CR01 Card reader (ActivEdge card reader) Section 7.4.2.2
DI01 Bill dispenser (BCR or ECRM only) Section 7.4.2.3
DI02 Secondary bill dispenser (BCR or ECRM only) Section 7.4.2.4
DP01 Depositor (IDMbd only) Section 7.4.2.5
ED01 Encryption/decryption device (double-length DES keys Section 7.4.2.6
only)
EP01 Encrypting PIN pad (always reported) Section 7.4.2.7
LT01 Lead-through indicators (none)
MP01 Media Player Section 7.4.2.8
PR01 Receipt printer (thermal receipt printers only) Section 7.4.2.9
PR02 Journal printer (thermal journal printers only) Section 7.4.2.10
PB01 Passbook printer Section 7.4.2.11
SP01 Statement printer Section 7.4.2.12
TS01 Touch screen (none)

Any devices reported as part of the additional Hardware Configuration status data can appear in
any order. It is important for the host to examine the device IDs to determine which devices are
being reported.

EXAMPLE

An example of a configuration message, with double expanded Hardware Configuration status set
and additional devices present, appears as follows:

22 |FS |FS |FS 8


|FS < (four bytes of Configuration ID)
|GS B (at least 24 bytes of Hardware Config. status)
|RS EP01 (EPP configuration data)
|RS TS01
|RS LT01
|GS D (8 bytes of Cassette status)

7.4.2.1 Currency Acceptor Hardware Configuration Data

Agilis 3 91x sends the following currency acceptor configuration information as part of the additional
Hardware Configuration status data (Table 7-9).

NOTE
For the Bulk Cash Recycler (BCR) and the Enhanced Cash Recycler Module (ECRM), the
Agilis Configuration Utility provides an option to suppress sending the currency acceptor
configuration information to the network. The default setting is to send this configuration
information.

Table 7-9 Currency Acceptor Hardware Configuration Data


Description Data Number Of Characters
Record Separator (RS) hex 1E 1
Currency Acceptor Device ID CI01 4
Vertical Tab (VT) hex 0B 1
Hardware Vendor --- Variable
Vertical Tab (VT) hex 0B 1
Vendor Dependent Device Information --- Variable
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 0 --- 1
Cassette Currency ID, Position 0 --- 3
Cassette Bill Value, Position 0 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 1 --- 1
Cassette Currency ID, Position 1 --- 3
Cassette Bill Value, Position 1 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 2 --- 1
Cassette Currency ID, Position 2 --- 3
Cassette Bill Value, Position 2 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 3 --- 1
Cassette Currency ID, Position 3 --- 3
Cassette Bill Value, Position 3 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 4 --- 1
Cassette Currency ID, Position 4 --- 3
Cassette Bill Value, Position 4 --- 10
Vertical Tab (VT) hex 0B 1
Number of Bill Types --- 2
[1]
Vertical Tab (VT) hex 0B 1
[1]
Currency ID --- 3
[1]
Bill Value --- 10
[1]
Bill Release Number --- 5
[1]
Accept Flag --- 1
[1]
This set of fields is repeated for each bill type that the currency acceptor device is configured to
accept.

The following paragraphs describe the fields in the Currency Acceptor Hardware Configuration
message.

Currency Acceptor Device ID


Field Size: 4 characters
Valid Range: CI01
Description: This field contains the device ID for the currency acceptor.

Hardware Vendor
Field Size: Variable
Valid Range: Variable
Description: This field contains the vendor name of the currency acceptor device.

Vendor Dependent Device Information


Field Size: Variable
Valid Range: Variable
Description: The Vendor Dependent Device Information field contains vendor-specific information
about the device, such as firmware versions, software versions, license information, and so on.

Cassette Type
Field Size: 1 character
Valid Range: 0 through 2, 4 through 6, and _ (hexadecimal 5F)
Description: The Cassette Type fields indicate the accept type for each cassette. For the currency
acceptor, the following accept types are defined:
 0 - Not defined. The cassette might be missing or in a manipulated state.
 1 - Shared accept and dispense reject cassette.
 2 - Recycling cassette.
 4 - Dispense reject only cassette.
 5 - Accept-only cassette, accepts all bill types. Refer to the list of bill types at the end of the
currency acceptor hardware configuration data.
 6- Accept-only cassette, accepts a single denomination, defined in the fields immediately
following this field.
 _ - There is no hardware module at this position or the cassette might be dispense-only.

For position 0, the only valid values are 0, 1, 4, 5, and _ . The values 2 and 6 are not valid for
position 0.

Cassette Currency ID
Field Size: 3 characters
Valid Range: ISO 4217 currency codes, and 000
Description: The Cassette Currency ID fields indicate the currency type for each cassette.
For single-denomination cassettes (cassette type 2 or 6), the value in this field indicates the
currency type that the cassette is configured to accept. For all-denomination cassettes (cassette
type 1, 4, or 5), the value in this field is the currency code of the first configured currency for the
device. For positions where the cassette type is 0 (missing or manipulated) or _ (no module, or
dispense-only), the value in this field is 000.

Cassette Bill Value


Field Size: 10 characters
Valid Range: 0000000000 through 9999999999
Description: The Cassette Bill Value fields indicate the monetary value (denomination) of the bill
type for each cassette. The last two or three digits of the bill value are the decimal amount. (The
number of decimal places is a configurable option that can be set using the Write Command 3
message.)

For single-denomination cassettes (cassette type 2 or 6), the value in this field indicates the bill
value that the cassette is configured to accept. For all other cassette types (0, 1, 4, 5, and _ ), the
value in this field is 0000000000.

Number of Bill Types


Field Size: 2 characters
Valid Range: 01 through 99 (subject to the limitations of the specific currency acceptor device)
Description: The Number of Bill Types field indicates the number of bill types that the currency
acceptor device is capable of recognizing, counting all denominations, and counting each
release/emission separately for each denomination.

NOTE

The following set of fields is repeated for each bill type, up to the number specified in the
Number of Bill Types field.

The bill types are listed in the status data based on the following order:

 All bill types are sorted by currency code, in alphabetical order.


 For each currency code, the bill types are sorted by bill value (denomination), in ascending
order.
 For each denomination, the bill types are sorted by bill release number, in ascending order.

Currency ID
Field Size: 3 characters
Valid Range: ISO 4217 currency codes
Description: The Currency ID field indicates the currency type for this bill type.

Bill Value
Field Size: 10 characters
Valid Range: 0000000001 through 9999999999
Description: The Bill Value field indicates the monetary value (denomination) of this bill type. The
last two or three digits of the bill value are the decimal amount. (The number of decimal places is a
configurable option that can be set using the Write Command 3 message.)
Bill Release Number
Field Size: 5 characters
Valid Range: 00000 through 00255
Description: The Bill Release Number field contains a numeric representation of the
release/emission number for this bill type. The correspondence between a bill release number and
its numeric representation depends on the bill validating module installed in the currency acceptor.

Accept Flag
Field Size: 1 character
Valid Range: 0 through 2
Description: The Accept Flag field indicates if the currency acceptor is allowed to accept this bill
type (based on ACU and Write Command 20 configuration). The valid values are as follows:
 0 - Not allowed to accept.
 1 - Acceptable. Category 3 bills are counted as regular bills.
 2 - Acceptable. Category 3 bills are counted as counterfeit bills.

If fraudulent note detection is not enabled, values 1 and 2 have the same meaning, indicating only
that the currency acceptor is allowed to accept the bill.

EXAMPLE 1

Table 7-10 shows an example of the hardware configuration data reported for a BCR.

Table 7-10 Example Hardware Configuration Data for the BCR


Description Data Number Of Characters
Record Separator (RS) hex 1E 1
Currency Acceptor Device ID CI01 4
Vertical Tab (VT) hex 0B 1
Hardware Vendor DIEBOLD 7
Vertical Tab (VT) hex 0B 1
Vendor Dependent Device Information 96
HCM1-MDI :0A
070500 :0A
HCM1-IPI :0A
070500 :0A
HCM1-MDF :0A
070500 :0A
HCM1-IPF :0A
070102 :0A
HCM1-IPB :0A
010000 :0A
HBBV-XX- :0A
000001 :0A
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 0 (topmost) 1 1
Cassette Currency ID, Position 0 USD 3
Cassette Bill Value, Position 0 0000000000 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 1 6 1
Cassette Currency ID, Position 1 USD 3
Cassette Bill Value, Position 1 0000000100 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 2 6 1
Cassette Currency ID, Position 2 USD 3
Cassette Bill Value, Position 2 0000000500 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 3 6 1
Cassette Currency ID, Position 3 USD 3
Cassette Bill Value, Position 3 0000001000 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 4 6 1
Cassette Currency ID, Position 4 USD 3
Cassette Bill Value, Position 4 0000002000 10
Vertical Tab (VT) hex 0B 1
Number of Bill Types 04 2
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000000100 10
Bill Release Number 00000 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000000500 10
Bill Release Number 00000 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000001000 10
Bill Release Number 00000 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000002000 10
Bill Release Number 00000 5
Accept Flag 1 1
For a BCR, the Vendor Dependent Device Information field contains a module name and version for
each of the following software files:

 Main Program 1
 IPL Program 1
 Main Program 2
 IPL Program 2
 Boot Program
 Validation Program

Each of the preceding elements ends in a line feed character ( :0A in the example data).

Cassette types are assigned to BCR cassettes as follows:

 Universal Accept - cassette type 1 (position 0 in the example)


 Universal Deposit - cassette type 5
 Reject/Retract - cassette type 4
 Accept 1 - cassette type 6 (positions 1 through 4 in the example)
 Recycle 1 - cassette type 2
 Dispense 1 - cassette type _

The bill validating module in this example does not support bill release numbers for U.S. dollars.
Therefore, the terminal sends 00000 for the bill release number.

EXAMPLE 2

Table 7-11 shows an example of the hardware configuration data reported by Agilis 3 91x for a BNA
equipped with a free-fall cassette.

Table 7-11 Example Hardware Configuration Data for the BNA


Description Data Number Of Characters
Record Separator (RS) hex 1E 1
Currency Acceptor Device ID CI01 4
Vertical Tab (VT) hex 0B 1
Hardware Vendor DIEBOLD 7
Vertical Tab (VT) hex 0B 1
Vendor Dependent Device Information L90_V1.80.012 91
E04AD04ADFFFFFFF3EA1
C8A8A550B6
A69298268030000CC125
0C15E37575
[1]
4F6A69298268030000
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 0 5 1
Cassette Currency ID, Position 0 USD 3
Cassette Bill Value, Position 0 0000000000 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 1 _ 1
Cassette Currency ID, Position 1 000 3
Cassette Bill Value, Position 1 0000000000 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 2 _ 1
Cassette Currency ID, Position 2 000 3
Cassette Bill Value, Position 2 0000000000 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 3 _ 1
Cassette Currency ID, Position 3 000 3
Cassette Bill Value, Position 3 0000000000 10
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 4 _ 1
Cassette Currency ID, Position 4 000 3
Cassette Bill Value, Position 4 0000000000 10
Vertical Tab (VT) hex 0B 1
Number of Bill Types 05 2
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000000100 10
Bill Release Number 00032 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000000500 10
Bill Release Number 00065 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000000500 10
Bill Release Number 00066 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000001000 10
Bill Release Number 00065 5
Accept Flag 1 1
Vertical Tab (VT) hex 0B 1
Currency ID USD 3
Bill Value 0000001000 10
Bill Release Number 00066 5
Accept Flag 1 1
[1]
The main firmware version is L90_V1.80.012. The rest of the data in this field is the DMO license
string.

For a BNA, the Vendor Dependent Device Information field contains the following information:

 Main firmware version (release label)


 DMO license string

For a BNA equipped with a free-fall cassette, the free-fall cassette is always in position 0. The
cassette type for position 0 is always 5 (accept-only cassette). For positions 1 through 4, the only
valid value is _ (no hardware module at this position).

If the BNA is configured to accept only one currency and only one denomination, the value of that
denomination is reported as the cassette bill value for position 0.

In this example, the bill release numbers reported in the status data are ASCII decimal
representations of the release numbers for the bills. For the 1-dollar bill, the value 00032
(representing the space character, ASCII decimal 32) indicates that there is only one release of this
note in existence. For the 5- and 10-dollar denominations, the value 00065 represents release A,
00066 represents release B, and so on.

BNA with Opteva Stacking Cassette. If the BNA is equipped with an Opteva Stacking Cassette
(OSC), the Data Reporting for Multiple Accepting Cassettes option (ACU) determines the manner in
which the deposit cassettes are reported in the hardware configuration data.

If the option is set to Report Cassette Data Individually, the two deposit cassettes in the OSC are
reported separately. The deposit cassettes are reported as position 0 and position 1. Cassette type
5 (accept-only cassette) is reported for both positions. For positions 2 through 4, the terminal
reports No Hardware Module (cassette type _ ).

If the option is set to Consolidate Cassettes Data, the two deposit cassettes are reported as a
single combined cassette in position 0. The terminal reports Accept-only Cassette for position 0 and
No Hardware Module for positions 1 through 4.

7.4.2.2 Card Reader Hardware Configuration Data

The following table describes the hardware configuration data for the card reader.

Table 7-12 Card Reader Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Card Reader Device ID CR01 4
Insert Orientation 0 or 1 1

The following paragraphs describe the parameters in the card reader hardware configuration data.

Insert Orientation
Field Size: 1 character
Valid Range: 0 or 1
Description: Indicates the orientation of the card when inserted in the reader.
 0. Card is inserted in the standard orientation with the short end first.
 1. Card is inserted with the long end first.

7.4.2.3 Bill Dispenser Hardware Configuration Data

NOTE

At present, this configuration information is included in the Hardware Configuration status


data only if the terminal is equipped with a Bulk Cash Recycler (BCR) or an Enhanced Cash
Recycler Module (ECRM) configured to dispense (or recycle) bills.

The Agilis Configuration Utility provides an option to suppress sending the bill dispenser
configuration information to the network. The default setting is to send this configuration
information.

Table 7-13 Bill Dispenser Hardware Configuration Data


Description Data Number Of Characters
Record Separator (RS) hex 1E 1
Bill Dispenser Device ID DI01 4
Vertical Tab (VT) hex 0B 1
Hardware Vendor --- Variable
Vertical Tab (VT) hex 0B 1
Software Version(s) --- Variable
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 0 (topmost) --- 1
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 1 - - - 1
Cassette Type, Position 1 --- 1
Cassette Currency ID, Position 1 --- 3
Cassette Bill Value, Position 1 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 2 - - - 1
Cassette Type, Position 2 --- 1
Cassette Currency ID, Position 2 --- 3
Cassette Bill Value, Position 2 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 3 - - - 1
Cassette Type, Position 3 --- 1
Cassette Currency ID, Position 3 --- 3
Cassette Bill Value, Position 3 --- 10
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 4 - - - 1
Cassette Type, Position 4 --- 1
Cassette Currency ID, Position 4 --- 3
Cassette Bill Value, Position 4 --- 10

The following paragraphs describe the fields in the Bill Dispenser Hardware Configuration status
data.

Bill Dispenser Device ID


Field Size: 4 characters
Valid Range: DI01
Description: This field contains the device ID for the bill dispenser.

Hardware Vendor
Field Size: Variable
Valid Range: Variable
Description: This field contains the vendor name for the bill dispenser hardware. For the BCR, the
only valid value for this field is HITACHI.

Software Version(s)
Field Size: Variable
Valid Range: Variable
Description: The Software Version(s) field contains the software version or versions reported by
the bill dispenser. The BCR reports the following software module names and versions, separated
by line feed characters:
 Main Program 1
 IPL Program 1
 Main Program 2
 IPL Program 2
 Boot Program
 Validation Program
 DES Program

Cassette Type, Position 0


Field Size: 1 character
Valid Range: 0, 1, and 4
Description: This field indicates the dispense type for the cassette in position 0. The following
values are valid for this field:
 0 - Not defined. Cassette might be missing.
 1 - Shared accept and dispense reject cassette.
 4 - Dispense reject only cassette.

NOTE

The following fields are repeated for positions 1 through 4.

Cassette Denomination ID
Field Size: 1 character
Valid Range: A through H, a through h, J, @, and _ (underscore)
Description: The Cassette Denomination ID fields indicate the bill denomination ID for each
cassette. The following values are valid for this field:
 A through H - Denomination ID
 a through h - Denomination ID, cassette is low or empty
 J - Denomination ID cannot be read
 @ - No cassette present
 _ - No feed module present

Cassette Type
Field Size: 1 character
Valid Range: 0, 2, 3, and _ (underscore)
Description: The Cassette Type fields indicate the dispense type for each cassette. The following
values are valid for this field:
 0 - Not defined. The cassette might be accept-only or might be missing, or there might not
be a hardware module at this position.
 2 - Recycling cassette.
 3 - Dispense-only cassette.

Cassette Currency ID
Field Size: 3 characters
Valid Range: ISO 4217 currency codes, and bbb
Description: The Currency ID fields indicate the currency type for each cassette. For positions
where the cassette type is not defined (cassette type 0), the value in this field is three space
characters ( bbb).

Cassette Bill Value


Field Size: 10 characters
Valid Range: 0000000000 through 9999999999
Description: The Cassette Bill Value fields indicate the monetary value (denomination) of the bill
type for each cassette. The last two or three digits of the bill value are the decimal amount. (The
number of decimal places is a configurable option that can be set using the Write Command 3
message.) A monetary value of zero indicates that this cassette is not configured.

EXAMPLE

Table 7-14 shows an example of the hardware configuration data for the BCR with a reject cassette
(position 0) and three recycling cassettes (positions 1 through 3). Position 4 has no hardware
module. The recycling cassettes are configured to dispense the following denominations:

 Position 1 - U.S. $5 (denomination B)


 Position 2 - U.S. $10 (denomination C)
 Position 3 - U.S. $20 (denomination D)
Table 7-14 Example Hardware Configuration Data for the BCR
Description Data Number Of Characters
Record Separator (RS) hex 1E 1
Bill Dispenser Device ID DI01 4
Vertical Tab (VT) hex 0B 1
Hardware Vendor HITACHI 7
Vertical Tab (VT) hex 0B 1
Software Version(s) 111
BCR1-MDI :0A
030012 :0A
BCR1-IPI :0A
010000 :0A
BCR1-MDF :0A
030012 :0A
BCR1-IPF :0A
010001 :0A
BCR1-IPB :0A
010000 :0A
HBV1-DA- :0A
000010 :0A
BCR1DCOR :0A
000001
Vertical Tab (VT) hex 0B 1
Cassette Type, Position 0 (topmost) 4 1
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 1 B 1
Cassette Type, Position 1 2 1
Cassette Currency ID, Position 1 USD 3
Cassette Bill Value, Position 1 0000000500 10
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 2 C 1
Cassette Type, Position 2 2 1
Cassette Currency ID, Position 2 USD 3
Cassette Bill Value, Position 2 0000001000 10
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 3 D 1
Cassette Type, Position 3 2 1
Cassette Currency ID, Position 3 USD 3
Cassette Bill Value, Position 3 0000002000 10
Vertical Tab (VT) hex 0B 1
Cassette Denomination ID, Position 4 __ 1
Cassette Type, Position 4 0 1
Cassette Currency ID, Position 4 bbb 3
Cassette Bill Value, Position 4 0000000000 10

If the BCR contains a Multiple Acceptance Box (MAB) in position 0, the terminal reports cassette
type 1 (shared accept and dispense reject cassette) for position 0.

7.4.2.4 Secondary Bill Dispenser Hardware Configuration Data

The following table describes the Hardware Configuration data for the Secondary Bill Dispenser.

Table 7-12 Secondary Bill Dispenser Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) Hex 1E 1
Bill Dispenser Device ID DI02 1
Vertical Tab (VT) Hex 0B 1
Hardware Vendor
Vertical Tab (VT) Hex 0B 1
Software Version(s)
Vertical Tab (VT) Hex 0B 1
Cassette Type Position 0 (topmost)
Vertical Tab (VT) Hex 0B 1
Cassette Denomination ID, Position 1
Cassette Type, Position 1 1
Cassette Currency ID, Position 1 3
Cassette Bill Value, Position 1 10
Vertical Tab (VT) Hex 0B 1
Cassette Denomination ID, Position 2 1
Cassette Type, Position 2 1
Cassette Currency ID, Position 2 3
Cassette Bill Value, Position 2 10
Vertical Tab (VT) Hex 0B 1
Cassette Denomination ID, Position 3 1
Cassette Type, Position 3 1
Cassette Currency ID, Position 3 3
Cassette Bill Value, Position 3 10
Vertical Tab (VT) Hex 0B 1
Cassette Denomination ID, Position 4 1
Cassette Type, Position 4 1
Cassette Currency ID, Position 4 3
Cassette Bill Value, Position 4 10
Vertical Tab (VT) Hex 0B 1
Cassette Denomination ID, Position 5 1
Cassette Type, Position 5 1
Cassette Currency ID, Position 5 3
Cassette Bill Value, Position 5 10

For more information about the parameters in the Secondary Bill Dispenser Hardware Configuration
data, refer to Section 7.4.2.3.

7.4.2.5 Depositor Hardware Configuration Data

NOTE

This device is reported as part of the additional Hardware Configuration status data only if
the terminal is using a Bulk Document IDM (IDM bd ).

For an IDMbd, Agilis 3 91x sends the following depositor configuration information as part of the
additional Hardware Configuration status data (Table 7-15).

Table 7-15 Depositor Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Depositor Device ID DP01 4
Depositor Type BD 2

The following paragraphs describe the fields in the Depositor Hardware Configuration status data.

Depositor Device ID
Field Size: 4 characters
Valid Range: DP01
Description: DP01 is the device ID for the depositor.

Depositor Type
Field Size: 2 characters
Valid Range: BD
Description: The characters BD indicate that the terminal is using an IDMbd.
7.4.2.6 Encryption/Decryption Device Hardware Configuration Data

NOTE

This device is reported as part of the additional Hardware Configuration status data only if
the terminal is using double-length DES keys.

Agilis 3 91x sends the following encryption/decryption device configuration information as part of
the additional Hardware Configuration status data (Table 7-16).

Table 7-16 Encryption/Decryption Device Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Encryption/Decryption Device ID ED01 4
Double-Length Keys DK 2

The following paragraphs describe the fields in the Encryption/Decryption Device Hardware
Configuration status data.

Encryption/Decryption Device ID
Field Size: 4 characters
Valid Range: ED01
Description: ED01 is the device ID for the encryption/decryption device.

Double-Length Keys
Field Size: 2 characters
Valid Range: DK
Description: The characters DK indicate that the terminal is using double-length DES keys. (This
feature requires an encrypting PIN pad.)

7.4.2.7 Encrypting PIN Pad Hardware Configuration Data

NOTE

The terminal always reports an encrypting PIN pad as part of the additional Hardware
Configuration status data, regardless of the type of PIN pad actually used.

Agilis 3 91x sends the following encrypting PIN pad configuration information as part of the
additional Hardware Configuration status data (Table 7-17).

Table 7-17 Encrypting PIN Pad Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Encrypting PIN Pad Device ID EP01 4
[1]
Remote Key Transport Support 04RK 4
[1]
Remote Key Transport Method --- Variable
Unit Separator (US) Hex 1F 1
Encrypting PIN Pad Model Number --- Variable
Unit Separator (US) Hex 1F 1
Encrypting PIN Pad Serial Number --- Variable
Unit Separator (US) Hex 1F 1
Encrypting PIN Pad Firmware --- Variable
[1]
These fields are present only if the terminal supports the Remote Key Transport feature.

The following paragraphs describe the fields in the Encrypting PIN Pad Hardware Configuration
status data.

Encrypting PIN Pad Device ID


Field Size: 4 characters
Valid Range: EP01
Description: EP01 is the device ID for the encrypting PIN pad.

NOTE

The following two fields are present only if the terminal supports the Remote Key Transport
feature.

Remote Key Transport Support


Field Size: 4 characters
Valid Range: 04RK
Description: This field indicates that the terminal supports the Remote Key Transport feature.

Remote Key Transport Method


Field Size: Variable
Valid Range: Cert, Sig
Description: The value in this field indicates which method the terminal supports for the Remote
Key Transport feature, as follows:
 Cert - Certificate-based method
 Sig - Signature-based method

Encrypting PIN Pad Model Number


Field Size: Variable
Description: The value in this field indicates the model number of the EPP device connected to the
terminal.

Some example PIN pad models numbers are:

 “PCI (EPP5)"
 “Basic (EPP5)"
 “TD (EPP5)"
 “VISA (EPP4)"
 “UNIVERSAL (EPP4)"
 “TD (EPP4)"
 “UNKNOWN"
 “Basic (EPP7)"
 “PCI Plus (EPP7)"
 “TD (EPP7)"

Encrypting PIN Pad Serial Number


Field Size: Variable
Description: The value in this field indicates the serial number of the EPP device connected to the
terminal.

An example PIN pad serial number is 91650004.

Encrypting PIN Pad Firmware


Field Size: Variable
Description: The value in this field indicates the firmware of the EPP device connected to the
terminal.

An example PIN pad firmware is 414-02281D.

7.4.2.8 Media Player Hardware Configuration Data

Agilis 3 91x sends the following Media Player configuration information as part of the additional
Hardware Configuration status data (Table 7-18).

Table 7-18 Media Player Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Media Player Device ID MP01 4
Vertical Tab (VT) hex 0B 1
Revision Number --- 4

The following paragraphs describe the fields in the Media Player Hardware Configuration status
data.

Media Player Device ID


Field Size: 4 Characters
Valid Range: MP01
Description: MP01 is the device ID for the Media Player.

Revision Number
Field Size: 4 Characters
Valid Range: Valid revision number or 0000
Description: The value in this field contains the revision number for the Media Player. The value
0000 indicates that the revision number is unknown or is not applicable.

7.4.2.9 Receipt Printer Hardware Configuration Data (thermal receipt printers


only)

For thermal receipt printers, Agilis 3 91x sends a large amount of configuration information as part
of the additional Hardware Configuration status data (Table 7-19).

Table 7-19 Receipt Printer Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Printer Device ID PR01 4
Unit Separator (US) hex 1F 1
Printer Vendor --- Variable
Unit Separator (US) hex 1F 1
Printer Model Number --- 1
Unit Separator (US) hex 1F 1
Printer Hardware Revision Number --- Variable
Unit Separator (US) hex 1F 1
Printer Software Revision Number --- Variable
Unit Separator (US) hex 1F 1
Printer Horizontal Resolution (dots per inch) - - - 3
Printer Vertical Resolution (dots per inch) --- 3
Printer Primary Character Set --- 3
Printer Alternate Character Set 1 --- 3
Printer Alternate Character Set 2 --- 3
Unit Separator (US) hex 1F 1
Printer Retain Flag --- 1
Printer Landscape Flag --- 1
Printer Print File Flag --- 1
Printer Logo Flag --- 1
Printer Double Wide Flag --- 1
Printer Bold Flag --- 1
Printer Underline Flag --- 1
Printer Margin Flag 0 1
Printer Horizontal Tab Flag 0 1
Printer Vertical Tab Flag 0 1
Printer Bar Code Flag 0 1
Printer Form Feed No Cut Flag 0 1
Printer Standard Graphics Flag 0 1
Printer Compressed Margin Flag --- 1

The following paragraphs describe the fields in the Receipt Printer Hardware Configuration data.

NOTE

The unit separator (hex 1F) is the default separator used in the Hardware Configuration
status data for the receipt printer. However, certain host protocols have a problem seeing
this character in a message. Therefore, some systems might use some other character
separator in place of the unit separator. This substitute separator would be defined during
Agilis 3 91x installation.

Printer Device ID
Field Size: 4 characters
Valid Range: PR01
Description: PR01 is the device ID for the receipt printer.

Printer Vendor
Field Size: Variable
Valid Range: Variable
Description: This field contains the vendor name of the receipt printer hardware. At present, the
following values can occur in this field:
 DIEBOLD - Opteva printer
 AXIOHM - 48-column Thermal Consumer Printer

Printer Model Number


Field Size: 1 character
Valid Range: Variable
Description: This field contains the model number of the receipt printer hardware. At present, the
following values can occur in this field:
 F - Opteva Two-color Graphical Receipt Printer
 C - 48-column Thermal Consumer Printer

If the model number is not known, this field contains a question mark ( ? ).

Printer Hardware Revision Number


Field Size: Variable
Valid Range: Variable
Description: This field contains the hardware revision number of the receipt printer hardware. If the
hardware revision number is not known, this field contains a question mark ( ? ).

Printer Software Revision Number


Field Size: Variable
Valid Range: Variable
Description: This field contains the software revision number of the receipt printer hardware. If the
software revision number is not known, this field contains a question mark ( ? ).

Printer Horizontal Resolution (dots per inch)


Field Size: 3 characters
Valid Range: Variable
Description: This field contains the horizontal resolution of the receipt printer in dots per inch. If the
horizontal resolution is not known, this field contains question marks ( ??? ).

Printer Vertical Resolution (dots per inch)


Field Size: 3 characters
Valid Range: Variable
Description: This field contains the vertical resolution of the receipt printer in dots per inch. If the
vertical resolution is not known, this field contains question marks ( ??? ).

Printer Primary Character Set


Field Size: 3 characters
Valid Range: 001
Description: The value in this field is always 001, regardless of the primary character set selected
during configuration.

Printer Alternate Character Set 1


Field Size: 3 characters
Valid Range: 000 through 255 (Table 7-20)
Description: This is the Agilis 3 91x character set code to describe the character set selected using
ESC 4 or VT.
Table 7-20 Agilis 3 91x Printer Character Set Codes
Character Set Code Character Set
001 Standard English
002 Standard Alternate
003 Greek
004 Portuguese
005 Cyrillic/Latvian
006 Hungarian/Latin
007 Turkish
008 Hebrew
009 Arabic
010 Lithuanian
011 Custom 1
012 Custom 2
015 Arabic Script
018 Code Page 850
Printer Alternate Character Set 2
Field Size: 3 characters
Valid Range: 000 through 255 (Table 7-20)
Description: This is the Agilis 3 91x character set code to describe the character set selected using
ESC z 1.

Printer Retain Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of retaining a form. 0 is
defined as not capable, 1 is defined as capable.

Printer Landscape Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of printing in landscape
mode. 0 is defined as not capable, 1 is defined as capable.

Printer Print File Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of printing data from a
file. 0 is defined as not capable, 1 is defined as capable.

Printer Logo Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of logo printing. 0 is
defined as not capable, 1 is defined as capable.

Printer Double Wide Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of printing double width
characters. 0 is defined as not capable, 1 is defined as capable.

Printer Bold Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of printing bold
(emphasized) characters. 0 is defined as not capable, 1 is defined as capable.

Printer Underline Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of printing underlined
characters. 0 is defined as not capable, 1 is defined as capable.

Printer Margin Flag


Field Size: 1 character
Valid Range: 0
Description: This field is reserved for compatibility with TCS.

Printer Horizontal Tab Flag


Field Size: 1 character
Valid Range: 0
Description: This field is reserved for compatibility with TCS.

Printer Vertical Tab Flag


Field Size: 1 character
Valid Range: 0
Description: This field is reserved for compatibility with TCS.

Printer Bar Code Flag


Field Size: 1 character
Valid Range: 0
Description: This field is reserved for compatibility with TCS.

Printer Form Feed No Cut Flag


Field Size: 1 character
Valid Range: 0
Description: This field is reserved for compatibility with TCS.

Printer Standard Graphics Flag


Field Size: 1 character
Valid Range: 0
Description: This field is reserved for compatibility with TCS.

Printer Compressed Margin Flag


Field Size: 1 character
Valid Range: 0 and 1
Description: This flag indicates whether or not the receipt printer is capable of printing using a
compressed margin. 0 is defined as not capable, 1 is defined as capable.

EXAMPLE

Table 7-21 shows an example of the hardware configuration reported by Agilis 3 91x for the Diebold
48-column Thermal Consumer Printer. Character sets supported are Standard English (001),
Standard Alternate (002), and Arabic (009).

Table 7-21 Example Hardware Configuration Data for Diebold 48-column Thermal Consumer
Printer
Description Data Number of Characters
Record Separator (RS) hex 1E 1
Printer Device ID PR01 4
Unit Separator (US) hex 1F 1
Printer Vendor Diebold 7
Unit Separator (US) hex 1F 1
Printer Model Number C 1
Unit Separator (US) hex 1F 1
Printer Hardware Revision Number ? 1
Unit Separator (US) hex 1F 1
Printer Software Revision Number ? 1
Unit Separator (US) hex 1F 1
Printer Horizontal Resolution (dots per inch) 152 3
Printer Vertical Resolution (dots per inch) 152 3
Printer Primary Character Set 001 3
Printer Alternate Character Set 1 002 3
Printer Alternate Character Set 2 009 3
Unit Separator (US) hex 1F 1
Printer Retain Flag 1 1
Printer Landscape Flag 1 1
Printer Print File Flag 1 1
Printer Logo Flag 1 1
Printer Double Wide Flag 1 1
Printer Bold Flag 1 1
Printer Underline Flag 1 1
Printer Margin Flag 0 1
Printer Horizontal Tab Flag 0 1
Printer Vertical Tab Flag 0 1
Printer Bar Code Flag 0 1
Printer Form Feed No Cut Flag 0 1
Printer Standard Graphics Flag 0 1
Printer Compressed Margin Flag 0 1

7.4.2.10 Journal Printer Hardware Configuration Data

NOTE

The terminal reports journal printer configuration data as part of the additional Hardware
Configuration status data only if the terminal is using a thermal journal printer.
For thermal journal printers, the configuration information is similar to that for thermal receipt
printers (Section 7.4.2.9). However, in the status data for the journal printer, vertical tab characters
(VT, hex 0B) are used in place of the unit separators used for the receipt printer.

EXAMPLE

Table 7-22 shows an example of the hardware configuration data reported by Agilis 3 91x for the
Opteva journal printer.

Table 7-22 Example Opteva Journal Printer Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Printer Device ID PR02 4
Vertical Tab (VT) hex 0B 1
Printer Vendor DIEBOLD 7
Vertical Tab (VT) hex 0B 1
Printer Model Number G 1
Vertical Tab (VT) hex 0B 1
Printer Hardware Revision Number 0002 4
Vertical Tab (VT) hex 0B 1
[2]
Printer Software Revision Number 1.3.1.33 28
2.0.4.001.60
[1]
01.00
Vertical Tab (VT) hex 0B 1
Printer Horizontal Resolution (dots per inch) 203 3
Printer Vertical Resolution (dots per inch) 203 3
Printer Primary Character Set 001 3
Printer Alternate Character Set 1 002 3
Printer Alternate Character Set 2 002 3
Vertical Tab (VT) hex 0B 1
Printer Retain Flag 0 1
Printer Landscape Flag 1 1
Printer Print File Flag 1 1
Printer Logo Flag 1 1
Printer Double Wide Flag 1 1
Printer Bold Flag 1 1
Printer Underline Flag 1 1
Printer Margin Flag 0 1
Printer Horizontal Tab Flag 0 1
Printer Vertical Tab Flag 0 1
Printer Bar Code Flag 0 1
Printer Form Feed No Cut Flag 0 1
Printer Standard Graphics Flag 0 1
Printer Compressed Margin Flag 1 1
[1]
AMI version, driver version, main firmware version, and boot firmware version, separated by line
feed characters (LF, hex 0A)
[2]
This count includes three line feed characters.

7.4.2.11 Passbook Printer Hardware Configuration Data

For a passbook printer, Agilis 3 91x sends the following configuration information as part of the
additional Hardware Configuration status data (Table 7-23).

Table 7-23 Passbook Printer Hardware Configuration Data


Description Data Number of Characters
Record Separator (RS) hex 1E 1
Passbook Printer Device ID PB01 4
Unit Separator (US) hex 1F 1
Automatic Line Find --- 1
Unit Separator (US) hex 1F 1
Magnetic Stripe Reading --- 1
Unit Separator (US) hex 1F 1
Print Mode --- 1
Unit Separator (US) hex 1F 1
Retain Bin Capacity --- 2
Unit Separator (US) hex 1F 1
Magnetic Stripe Read/Write Capability - - - 1
Unit Separator (US) hex 1F 1
Automatic Page Turning Capability --- 1
Unit Separator (US) hex 1F 1
Page Number Detection Capability --- 1
Unit Separator (US) hex 1F 1
Blank Line Detection Capability --- 1

The following paragraphs describe the fields in the Passbook Printer Hardware Configuration status
data.

Passbook Printer Device ID


Field Size: 4 characters
Valid Range: PB01
Description: This is the device ID for the passbook printer.

Automatic Line Find


Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether the Automatic Line Find feature is enabled (1) or disabled
(0) in the Agilis Configuration Utility. This feature should only be enabled if the passbook printer
hardware has the capability of detecting blank lines, as indicated in the Blank Line Detection
Capability field.

Magnetic Stripe Reading


Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether the Magnetic Stripe Read Operation feature is enabled (1)
or disabled (0) in the Agilis Configuration Utility. This feature should only be enabled if the passbook
printer hardware has the capability of reading and writing a magnetic stripe, as indicated in the
Magnetic Stripe Read/Write Capability field.

Print Mode
Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether Agilis 3 91x is using text mode (0) or graphics mode (1)
for printing on the passbook printer.

Retain Bin Capacity


Field Size: 2 characters
Valid Range: 00 through 99
Description: This field indicates the number of passbooks that the retain bin can hold. The value
00 indicates that the passbook printer does not have a retain bin.

Magnetic Stripe Read/Write Capability


Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether the passbook printer hardware has the capability of
reading and writing a magnetic stripe (1) or does not have that capability (0).

Automatic Page Turning Capability


Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether the passbook printer hardware has the capability of
turning pages automatically (1) or does not have that capability (0).

Page Number Detection Capability


Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether the passbook printer hardware has the capability of
detecting bar-coded page numbers (1) or does not have that capability (0).

Blank Line Detection Capability


Field Size: 1 character
Valid Range: 0 or 1
Description: This field indicates whether the passbook printer hardware has the capability of
detecting blank lines (1) or does not have that capability (0).

7.4.2.12 Statement Printer Hardware Configuration Data

For a statement printer, Agilis 3 91x sends a large amount of configuration information as a part of
the additional Hardware Configuration status data. Table 7-24.

Table 7-24 Statement Printer Hardware Configuration Data


Description Data Number of characters
Record Separator (RS) hex 1E 1
Printer Device ID SP01 4
Vertical Tab (VT) hex 0B 1
Printer Vendor --- Variable
Vertical Tab (VT) hex 0B 1
Printer Model Number --- 1
Vertical Tab (VT) hex 0B 1
Printer Hardware Revision Number --- Variable
Vertical Tab (VT) hex 0B 1
Printer Software Revision Number --- Variable
Vertical Tab (VT) hex 0B 1
Printer Horizontal Resolution (dots per inch) - - - 3
Printer Vertical Resolution (dots per inch) --- 3
Printer Primary Character Set 001 3
Printer Alternate Character Set 1 --- 3
Printer Alternate Character Set 2 --- 3

The following paragraphs describe the fields in the Statement Printer Hardware Configuration status
data.

Printer Device ID
Field Size: 4 characters
Valid Range: SP01
Description: This field contains the device ID for the statement printer.

Printer Vendor
Field Size: Variable
Valid Range: Variable
Description: This field contains the model number of the statement printer hardware. At present,
only DIEBOLD - Opteva statement printer value can occur in this field.

Printer Model Number


Field Size: 1 character
Valid Range: Variable
Description: This field contains the model number of the statement printer hardware. At present,
the following values can occur in this field:
 F - Opteva Two-color Statement Printer configured for A4 or letter-sized paper
 G - Opteva Two-color Statement Printer configured for 6-inch paper

If the model number is not known, this field contains a question mark ( ? ).

Printer Hardware Revision Number


Field Size: Variable
Valid Range: Variable
Description: This field contains the hardware revision number of the statement printer hardware. If
the hardware revision number is not known, this field contains a question mark ( ? ).

Printer Software Revision Number


Field Size: Variable
Valid Range: Variable
Description: This field contains the software revision number of the statement printer hardware. If
the software revision number is not known, this field contains a question mark ( ? ).

Printer Horizontal Resolution (dots per inch)


Field Size: 3 characters
Valid Range: 001 through 999, or ???
Description: This field indicates the horizontal resolution of the statement printer in dots per inch. If
the horizontal resolution is not known, this field contains question marks ( ??? ).

Printer Vertical Resolution (dots per inch)


Field Size: 3 characters
Valid Range: 001 through 999, or ???
Description: This field indicates the vertical resolution of the statement printer in dots per inch. If
the vertical resolution is not known, this field contains question marks ( ??? ).

Printer Primary Character Set


Field Size: 3 characters
Valid Range: 001
Description: This field is reserved for compatibility with legacy systems. The value in this field is
always 001.

Printer Alternate Character Set 1


Field Size: 3 characters
Valid Range: 000 through 255 (Table 7-20)
Description: This field contains the Agilis 3 91x character set code to indicate the character set
selected using ESC 6 or VT.

Printer Alternate Character Set 2


Field Size: 3 characters
Valid Range: 000 through 255 (Table 7-20)
Description: This field contains the Agilis 3 91x character set code to indicate the character set
selected using ESC z 1.

EXAMPLE:

Table 7-25 shows an example of the hardware configuration data reported for the Opteva Two-color
Statement Printer configured for A4 paper. The statement printer supports the Standard Alternate
character set (002) as the first alternate character set and Arabic (009) as the second alternate
character set.

Table 7-25 Example Hardware Configuration Data for the for the Opteva Two-color Statement
Printer
Description Data Number of Characters
Record Separator (RS) hex 1E 1
Printer Device ID SP01 4
Vertical Tab (VT) hex 0B 1
Printer Vendor DIEBOLD 7
Vertical Tab (VT) hex 0B 1
Printer Model Number F 1
Vertical Tab (VT) hex 0B 1
Printer Hardware Revision Number 0001 4
Vertical Tab (VT) hex 0B 1
[1]
Printer Software Revision Number 1.3. 26
0.46
01.79 04.90
[1]
01.60
Vertical Tab (VT) hex 0B 1
Printer Horizontal Resolution (dots per inch) 203 3
Printer Vertical Resolution (dots per inch) 203 3
Printer Primary Character Set 001 3
Printer Alternate Character Set 1 002 3
Printer Alternate Character Set 2 009 3
[1]
AMI version, driver version, main firmware version, and boot firmware version, separated by line
feed characters (LF, hex 0A) This count includes three line feed characters.
[2]
This count includes three line feed characters.

7.4.3 Cassette Status (DID = D)

Refer to Table 7-26 for the detailed bit definitions of the Cassette status.

Opteva AFD with Five Dispense Cassettes


An Opteva AFD with five dispense cassettes reports status for only four dispense positions. The
cassette in position 5 functions as an extension of one of the other dispense cassettes (Section
3.1), so the status reported for the extended position is actually the combined status for the
extended position and position 5.
Table 7-26 Cassette Status
Abbreviated Byte
Byte Definition Detailed Byte Definition
0 - 1 Cassette status, The status of the cassette in position 1, based on the denomination ID
position 1 (top) and the condition of the cassette, as follows.
Cassette Status If Normal Status If Supply
Denomination Condition Low
A <1 >1
B <2 >2
C <3 >3
D <4 >4
E <5 >5
F <6 >6
G <7 >7
H <8 >8
No Cassette Present <0
Denomination ID <:
Cannot Be Read
No Feed Module =?
Present
2 - 3 Cassette status, The status of the cassette in position 2. Refer to bytes 0 and 1 for the
position 2 valid statuses.
4 - 5 Cassette status, The status of the cassette in position 3. Refer to bytes 0 and 1 for the
position 3 valid statuses.
6 - 7 Cassette status, The status of the cassette in position 4. Refer to bytes 0 and 1 for the
position 4 (bottom) valid statuses.
8 - 9 Cassette status, The status of the cassette in position 5. Refer to bytes 0 and 1 for the
position 5 (bottom) valid statuses.

7.5 Supply Counts (DID = H)

The following operational commands direct the terminal to send supply counts to the network:

 9 - Retrieve supply counts.


 : - Retrieve and clear supply counts.
 ; - Retrieve enhanced supply counts.
 < - Retrieve, then set or clear enhanced supply counts.

Command codes 9 and : retrieve the basic supply counts (Table 7-27). Command codes ; and <
retrieve the enhanced supply counts (Table 7-28). The terminal sends the supply counts in one
Solicited Status message, with the value 8 in the Status Descriptor field.

In both basic supply counts and the enhanced supply counts, all the data fields are optional. If a
device is not present in the terminal or is not enabled, Agilis 3 91x does not send the corresponding
data, or the group separator that precedes the data set. Also, if a device is present, but the device
lacks one or more of the capabilities described for Supply Counts status, Agilis 3 91x omits the
fields corresponding to those capabilities.

NOTE

At present, only the devices shown in Table 7-27 and Table 7-28 are reported in the Supply
Counts status.

NOTE

Currency acceptors that support a large number of currencies and denominations generate
a large amount of enhanced Supply Count status data (up to approximately 5000 bytes).
Depending on the network protocol used, this amount of status data might exceed the
maximum message length allowed by the terminal's communications software.

Opteva AFD with Five Dispense Cassettes


An Opteva AFD with five dispense cassettes reports supply counts for only four dispense positions.
The cassette in position 5 functions as an extension of one of the other dispense cassettes (Section
3.1), so the supply counts reported for the extended position are actually the combined counts for
the extended position and position 5.
Table 7-27 Basic Supply Counts
Number Abbreviated
of Bytes Byte Definition Detailed Byte Definition
4 DP01 Indicates the counts to follow are from the depository.
[1]
5 Total Deposits These bytes contain the total number of envelope deposits since the
last time the counters were cleared. The range is 00000 through
65535.
1 Group Separator hex 1D
4 CR01 Indicates that the counts to follow are from the card reader.
5 Total cards These bytes contain the total number of cards retained since the last
retained time the counters were cleared. The range is 00000 through 65535.
1 Group separator hex 1D
4 DI01 Indicates that the counts to follow are from the bill dispenser.
1 Record separator hex 1E
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 1.
Position 1 (top) Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 2.
Position 2 Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 3.
Position 3 Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 4.
Position 4 Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 5.
[2]
Position 5 Valid range is A through H.
(bottom)
1 Record separator hex 1E
5 Total number of These bytes contain the estimated total number of bills diverted since
bills diverted the last time the diverted bill counter was cleared. The bills were sent
to the divert bin due to a mispick or a recovery attempt during a
consumer transaction, or due to a maintenance self test or a
network-commanded dump. The range is 00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 1 position 1 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 2 position 2 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 3 position 3 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 4 position 4 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
[2]
Position 5 position 5 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total number of These bytes contain the estimated total number of bills retracted
bills retracted since the last time the retract counter was cleared. The bills were
accessible to the consumer before being retracted. The range is
00000 through 32767.
1 Group separator hex 1D
4 DI02 Indicates that the counts to follow are from the bill dispenser.
1 Record separator hex 1E
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 1.
Position 1 (top) Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 2.
Position 2 Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 3.
Position 3 Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 4.
Position 4 Valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in position 5.
[2]
Position 5 Valid range is A through H.
(bottom)
1 Record separator hex 1E
5 Total number of These bytes contain the estimated total number of bills diverted since
bills diverted the last time the diverted bill counter was cleared. The bills were sent
to the divert bin due to a mispick or a recovery attempt during a
consumer transaction, or due to a maintenance self test or a
network-commanded dump. The range is 00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 1 position 1 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 2 position 2 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 3 position 3 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
Position 4 position 4 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the stacking
dispensed, position (excludes bills sent to the divert cassette) from cassette
[2]
Position 5 position 5 since the last time the counter was cleared. The range is
00000 through 32767.
5 Total number of These bytes contain the estimated total number of bills retracted
bills retracted since the last time the retract counter was cleared. The bills were
accessible to the consumer before being retracted. The range is
00000 through 32767.
[1]
Does not include the number of checks deposited, for an IDM. Check deposits are included in the
enhanced Supply Counts status data only.
[2]
Counts for the fifth cassette will only be included if the feed module is set to 5.

Table 7-28 Enhanced Supply Counts


Number of Abbreviated
Bytes Byte Definition Detailed Byte Definition
4 DP01 Indicates the counts to follow are from the depository.
5 Envelope Count These bytes contain the total number of envelope deposits since
the last time the counters were cleared. The range is 00000
through 65535.
[1]
5 Check Bin 1 These bytes contain the total number of checks or other
Count documents placed in deposit bin 1 since the last time the
counters were cleared. The range is 00000 through 65535.
[1]
5 Check Bin 2 These bytes contain the total number of checks or other
Count documents placed in deposit bin 2 since the last time the
counters were cleared. The range is 00000 through 65535.
[1]
5 Check Bin 3 These bytes contain the total number of checks or other
Count documents placed in deposit bin 3 since the last time the
counters were cleared. The range is 00000 through 65535.
[1]
5 Check Bin 4 These bytes contain the total number of checks or other
Count documents placed in deposit bin 4 since the last time the
counters were cleared. The range is 00000 through 65535.
1 Group Separator hex 1D
4 CR01 Indicates that the counts to follow are from the card reader.
5 Total cards These bytes contain the total number of cards retained since the
retained last time the counters were cleared. The range is 00000 through
65535.
1 Group Separator hex 1D
4 DI01 Indicates that the counts to follow are from the bill dispenser.
1 Record Separator hex 1E
1 Denomination ID, This byte indicates the denomination ID of the cassette in
Position 1 (top) position 1. The valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in
Position 2 position 2. The valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in
Position 3 position 3. The valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the cassette in
Position 4 position 4. The valid range is A through H.
(bottom)
1 Record Separator hex 1E
5 Loaded Count, These bytes indicate the number of bills loaded in the cassette
Position 1 in position 1. The valid range is 00000 through 32767.
5 Loaded Count, These bytes indicate the number of bills loaded in the cassette
Position 2 in position 2. The valid range is 00000 through 32767.
5 Loaded Count, These bytes indicate the number of bills loaded in the cassette
Position 3 in position 3. The valid range is 00000 through 32767.
5 Loaded Count, These bytes indicate the number of bills loaded in the cassette
Position 4 in position 4. The valid range is 00000 through 32767.
1 Record Separator hex 1E
5 Total bills These bytes contain the number of bills dispensed to the
dispensed, stacking position (excludes bills sent to the divert cassette) from
Position 1 cassette position 1 since the last time the counter was cleared.
The range is 00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the
dispensed, stacking position (excludes bills sent to the divert cassette) from
Position 2 cassette position 2 since the last time the counter was cleared.
The range is 00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the
dispensed, stacking position (excludes bills sent to the divert cassette) from
Position 3 cassette position 3 since the last time the counter was cleared.
The range is 00000 through 32767.
5 Total bills These bytes contain the number of bills dispensed to the
dispensed, stacking position (excludes bills sent to the divert cassette) from
Position 4 cassette position 4 since the last time the counter was cleared.
The range is 00000 through 32767.
1 Record Separator hex 1E
5 Divert1 Count, These bytes contain the number of bills from position 1 that are
Position 1 known to have been rejected (sent to the reject bin) during a
consumer transaction due to mispick or recovery attempt since
the last time the counter was cleared. The range is 00000
through 32767.
5 Divert1 Count, These bytes contain the number of bills from position 2 that are
Position 2 known to have been rejected (sent to the reject bin) during a
consumer transaction due to mispick or recovery attempt since
the last time the counter was cleared. The range is 00000
through 32767.
5 Divert1 Count, These bytes contain the number of bills from position 3 that are
Position 3 known to have been rejected (sent to the reject bin) during a
consumer transaction due to mispick or recovery attempt since
the last time the counter was cleared. The range is 00000
through 32767.
5 Divert1 Count, These bytes contain the number of bills from position 4 that are
Position 4 known to have been rejected (sent to the reject bin) during a
consumer transaction due to mispick or recovery attempt since
the last time the counter was cleared. The range is 00000
through 32767.
1 Record Separator hex 1E
5 Divert2 Count, These bytes contain the number of bills from position 1 that are
Position 1 known to have been rejected (sent to the reject bin) during
maintenance or as a result of a network-commanded dump
since the last time the counter was cleared. The range is 00000
through 32767.
5 Divert2 Count, These bytes contain the number of bills from position 2 that are
Position 2 known to have been rejected (sent to the reject bin) during
maintenance or as a result of a network-commanded dump
since the last time the counter was cleared. The range is 00000
through 32767.
5 Divert2 Count, These bytes contain the number of bills from position 3 that are
Position 3 known to have been rejected (sent to the reject bin) during
maintenance or as a result of a network-commanded dump
since the last time the counter was cleared. The range is 00000
through 32767.
5 Divert2 Count, These bytes contain the number of bills from position 4 that are
Position 4 known to have been rejected (sent to the reject bin) during
maintenance or as a result of a network-commanded dump
since the last time the counter was cleared. The range is 00000
through 32767.
1 Record Separator hex 1E
5 Retract Count, These bytes contain the number of bills from position 1 that
Position 1 were accessible to the consumer but might not have been
taken, and something was retracted and placed in the retract bin
since the last time the counter was cleared. The range is 00000
through 32767.
5 Retract Count, These bytes contain the number of bills from position 2 that
Position 2 were accessible to the consumer but might not have been
taken, and something was retracted and placed in the retract bin
since the last time the counter was cleared. The range is 00000
through 32767.
5 Retract Count, These bytes contain the number of bills from position 3 that
Position 3 were accessible to the consumer but might not have been
taken, and something was retracted and placed in the retract bin
since the last time the counter was cleared. The range is 00000
through 32767.
5 Retract Count, These bytes contain the number of bills from position 4 that
Position 4 were accessible to the consumer but might not have been
taken, and something was retracted and placed in the retract bin
since the last time the counter was cleared. The range is 00000
through 32767.
NOTE

The retract counts should be considered as an estimate


only, and subject to verification by a manual count of the
bills in the divert cassette (retract bin).
1 Group Separator hex 1D
4 CN01 Indicates that the counts to follow are from the coin dispenser
(terminals with coin dispenser only).
1 Record Separator hex 1E
1 Denomination ID, This byte indicates the denomination ID of the coin bin in
Position 1 position 1. The valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the coin bin in
Position 2 position 2. The valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the coin bin in
Position 3 position 3. The valid range is A through H.
1 Denomination ID, This byte indicates the denomination ID of the coin bin in
Position 4 position 4. The valid range is A through H.
1 Record Separator hex 1E
5 Loaded Count, These bytes indicate the number of coins loaded in the bin in
Position 1 position 1. The valid range is 00000 through 32767.
5 Loaded Count, These bytes indicate the number of coins loaded in the bin in
Position 2 position 2. The valid range is 00000 through 32767.
5 Loaded Count, These bytes indicate the number of coins loaded in the bin in
Position 3 position 3. The valid range is 00000 through 32767.
5 Loaded Count, These bytes indicate the number of coins loaded in the bin in
Position 4 position 4. The valid range is 00000 through 32767.
1 Record Separator hex 1E
5 Total Coins These bytes contain the number of coins dispensed to the
Dispensed, delivery slot from the bin in position 1 since the last time the
Position 1 counter was cleared. The range is 00000 through 32767.
5 Total Coins These bytes contain the number of coins dispensed to the
Dispensed, delivery slot from the bin in position 2 since the last time the
Position 2 counter was cleared. The range is 00000 through 32767.
5 Total Coins These bytes contain the number of coins dispensed to the
Dispensed, delivery slot from the bin in position 3 since the last time the
Position 3 counter was cleared. The range is 00000 through 32767.
5 Total Coins These bytes contain the number of coins dispensed to the
Dispensed, delivery slot from the bin in position 4 since the last time the
Position 4 counter was cleared. The range is 00000 through 32767.
1 Group Separator hex 1D
4 AH01 Indicates that the counts to follow are from the After Hour
depository (AHD)
5 Deposit Count These bytes contain the total number of AHD deposits since the
last time the counter was cleared. The range is 00000 through
65535.
NOTE

All the counts preceding this note appear in the order shown in this table. Any counts
following this note can appear in any order. It is important for the host to examine the Device
ID field to determine which count fields are being reported.
1 Group Separator hex 1D
4 CI01 This identifier indicates that the counts that follow are for the
currency acceptor device.
1 Record Separator hex 1E
3 Number of These bytes indicate the total number of denominations for all
Denominations currencies configured in the ACU or by a Write Command 20
message. This total includes both currently configured
denominations and previously configured denominations with
uncleared, non-zero counts. The valid range is 001 through 060
(subject to the limitations of the specific currency acceptor
device).
1 Record Separator hex 1E
3 for each Currency IDs These bytes indicate the currency type for each denomination.
denomination Each currency type is identified using the ISO 4217 currency
code for the currency. Currency IDs are listed in alphabetical
order.
1 Record Separator hex 1E
10 for each Bill Values These bytes indicate the monetary value of each denomination.
denomination The valid range for each bill value is 0000000000 through
9999999999. The last two or three digits of each bill value
(depending on terminal configuration) are the decimal amount.
For each currency ID listed in the previous field, bill values are
listed in increasing order.
1 Record Separator hex 1E
NOTE

For an ENA or a BNA equipped with a stacking cassette (ESC/OSC), if the Data Reporting for
Multiple Accepting Cassettes option is set to Consolidate Cassettes Data, the deposit counts
for the two deposit cassettes are combined and reported in the Deposit Counts field for
position 0. Similarly, the retract counts for the two deposit cassettes are combined and
reported in the Retract Counts field for position 0.

If the option is set to Report Cassette Data Individually, the Deposit Counts and Retract
Counts fields for position 0 contain the deposit and retract counts for the first deposit
cassette only. The deposit and retract counts for the second deposit cassette are reported in
the Deposit Counts and Retract Counts fields for position 1.
5 for each Deposit Counts, These bytes indicate the number of bills of each denomination
denomination Position 0 deposited in position 0 since the counts were last cleared. The
valid range for each bill count is 00000 through 32767. Bill
counts are listed in the same order as the bill values.
1 Record Separator hex 1E
5 for each Deposit Counts, These bytes indicate the number of bills of each denomination
denomination Position 1 deposited in position 1 since the counts were last cleared. The
valid range for each bill count is 00000 through 32767. Bill
counts are listed in the same order as the bill values.
1 Record Separator hex 1E
5 for each Deposit Counts, These bytes indicate the number of bills of each denomination
denomination Position 2 deposited in position 2 since The counts were last cleared. The
valid range for each bill count is 00000 through 32767. Bill
counts are listed in the same order as the bill values.
1 Record Separator hex 1E
5 for each Deposit Counts, These bytes indicate the number of bills of each denomination
denomination Position 3 deposited in position 3 since the counts were last cleared. The
valid range for each bill count is 00000 through 32767. Bill
counts are listed in the same order as the bill values.
1 Record Separator hex 1E
5 for each Deposit Counts, These bytes indicate the number of bills of each denomination
denomination Position 4 deposited in position 4 since the counts were last cleared. The
valid range for each bill count is 00000 through 32767. Bill
counts are listed in the same order as the bill values.
1 Record Separator hex 1E
NOTE

For an ENA equipped with a stacking cassette (ESC), if the Data Reporting for Multiple
Accepting Cassettes option is set to Consolidate Cassettes Data, the retract counts for the
retract cassette are reported in the Retract Counts field for position 1 (the Retract Counts
field for position 0 contains the combined retract counts for the two deposit cassettes).

If the option is set to Report Cassette Data Individually, the retract counts for the retract
cassette are reported in the Retract Counts field for position 2 (the Retract Count fields for
position 0 and position 1 contain the individual retract counts for the two deposit cassettes).
5 Retract Counts, These bytes indicate the number of bills retracted to position 0
Position 0 during a deposit since the counts were last cleared. The valid
range is 00000 through 32767.
1 Record Separator hex 1E
5 Retract Counts, These bytes indicate the number of bills retracted to position 1
Position 1 during a deposit since the counts were last cleared. The valid
range is 00000 through 32767.
1 Record Separator hex 1E
5 Retract Counts, These bytes indicate the number of bills retracted to position 2
Position 2 during a deposit since the counts were last cleared. The valid
range is 00000 through 32767.
1 Record Separator hex 1E
5 Retract Counts, These bytes indicate the number of bills retracted to position 3
Position 3 during a deposit since the counts were last cleared. The valid
range is 00000 through 32767.
1 Record Separator hex 1E
5 Retract Counts, These bytes indicate the number of bills retracted to position 4
Position 4 during a deposit since the counts were last cleared. The valid
range is 00000 through 32767.
1 Record Separator hex 1E
3 CB4 This identifier indicates that the counts that follow are the
deposit totals for category 4 bills (genuine bills).
5 for each Total Deposits, These bytes indicate the total number of category 4 (genuine)
denomination Category 4 bills of each denomination deposited in all cassettes since the
counts were last cleared. The valid range for each bill count is
00000 through 32767. Bill counts are listed in the same order as
the bill values.
1 Record Separator hex 1E
3 CB3 This identifier indicates that the counts that follow are the
deposit totals for category 3 bills (suspect bills).
5 for each Total Deposits, These bytes indicate the total number of category 3 (suspect)
[2]
denomination Category 3 bills of each denomination deposited in all cassettes (not
including the counterfeit bill bin [Article 6 bin]) since the counts
were last cleared. The valid range for each bill count is 00000
through 32767. Bill counts are listed in the same order as the bill
values.
1 Record Separator hex 1E
3 CB2 This identifier indicates that the counts that follow are the
deposit totals for category 2 bills (counterfeit bills).
5 for each Total Deposits, These bytes indicate the total number of category 2 (counterfeit)
[2]
denomination Category 2 bills of each denomination deposited in all cassettes (not
including the counterfeit bill bin [Article 6 bin]) since the counts
were last cleared. The valid range for each bill count is 00000
through 32767. Bill counts are listed in the same order as the bill
values.
1 Record Separator hex 1E
3 RE4 This identifier indicates that the counts that follow are the retract
totals for category 4 bills (genuine bills).
5 for each Total Retracts, These bytes indicate the total number of category 4 (genuine)
denomination Category 4 bills of each denomination retracted to all cassettes since the
counts were last cleared. The valid range for each bill count is
00000 through 32767. Bill counts are listed in the same order as
the bill values.
1 Record Separator hex 1E
3 RE3 This identifier indicates that the counts that follow are the retract
totals for category 3 bills (suspect bills).
5 for each Total Retracts, These bytes indicate the total number of category 3 (suspect)
[2]
denomination Category 3 bills of each denomination retracted to all cassettes (not
including the counterfeit bill bin [Article 6 bin]) since the counts
were last cleared. The valid range for each bill count is 00000
through 32767. Bill counts are listed in the same order as the bill
values.
1 Record Separator hex 1E
3 RE2 This identifier indicates that the counts that follow are the retract
totals for category 2 bills (counterfeit bills).
5 for each Total Retracts, These bytes indicate the total number of category 2 (counterfeit)
[2]
denomination Category 2 bills of each denomination retracted to all cassettes (not
including the counterfeit bill bin [Article 6 bin]) since the counts
were last cleared. The valid range for each bill count is 00000
through 32767. Bill counts are listed in the same order as the bill
values.
1 Record Separator hex 1E
3 A62 This identifier indicates that the counts that follow are the totals
for category 2 bills (counterfeit bills) placed in the counterfeit bill
bin (Article 6 bin).
5 for each Counterfeit Bill These bytes indicate the number of category 2 (counterfeit) bills
[2]
denomination Bin, Category 2 of each denomination placed in the counterfeit bill bin since the
counts were last cleared. The valid range for each bill count is
00000 through 32767. Bill counts are listed in the same order as
the bill values.
1 Record Separator hex 1E
3 A63 This identifier indicates that the counts that follow are the totals
for category 3 bills (suspect bills) placed in the counterfeit bill bin
(Article 6 bin).
5 for each Counterfeit Bill These bytes indicate the number of category 3 (suspect) bills of
[2]
denomination Bin, Category 3 each denomination placed in the counterfeit bill bin since the
counts were last cleared. The valid range for each bill count is
00000 through 32767. Bill counts are listed in the same order as
the bill values.
1 Record Separator hex 1E
[1]
These fields are present only for terminals equipped with an IDM.
[2]
On systems that do not use the fraudulent note detection feature, these counts are zero.

7.6 Enhanced Operational Command Message

The enhanced Operational Command message is used to perform the following operations:

 Set or retrieve the current system time and date at a terminal.


 Retrieve version information about the Agilis 3 91x application and the XFS software
installed at a terminal.

The enhanced Operational Command message is used to set or retrieve the current system time
and date at a terminal. The structure of the enhanced Operational Command message is similar to
the structure of the basic Operational Command message. Table 7-29 shows the format of the
enhanced Operational Command message. The response to this message is a Ready Solicited
Status message with any response data appended.

Table 7-29 Enhanced Operational Command Message


Description Data Number of Characters
Protocol Dependent Header Variable Variable
Operational Command Identifier 5 1
[ Response Flag ] [X] [1]
Field Separator (FS) hex 1C 1
[ Logical Unit Number (LUNO) ] [ X ] [ 3 or 9 ]
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [ X ] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Command Code 025 3
Data Identifier --- 2
Command Data --- Variable
Protocol Dependent Trailer Variable Variable

The following paragraphs describe the fields of the enhanced Operational Command message that
are different from the basic Operational Command message.

Operational Command Identifier


Field Size: 1 character
Valid Range: 5
Description: The Operational Command Identifier field identifies the type of message being
transmitted. The only valid value is 5, enhanced Operational Command message.

Command Code
Field Size: 3 characters
Valid Range: 025
Description: The Command Code field identifies the type of command. The only valid value for this
field is 025, Get or Set Time and Date.

Data Identifier
Field Size: 2 characters
Valid Range: Refer to the description.
Description: The Data Identifier field contains the code indicating which action the Get or Set Time
and Date command should take. The valid values are as follows:
 SD - Set date and time
 GD - Get date and time

Command Data
Field Size: Variable
Valid Range: Refer to the description.
Description: The Command Data field contains the necessary data for each action that can be
performed for the Get or Set Time and Date command. The valid values for this field are as follows.

If the Data Identifier is SD (set date and time), this field contains 12 characters in the format of
YYYYMMDDHHMM, defined as follows:
 YYYY - four-digit year
 MM - two-digit month
 DD - two-digit day
 HH - two-digit hour (24-hour style)
 MM - two-digit minutes

If the Data Identifier is GD (get date and time), this field contains a three-character response buffer
ID. The valid range for this buffer ID is 065 through 090, and 256 through 355. However, some of
the buffers in these ranges are reserved by the system. For a list of the buffers and their uses, refer
to Section 5.1. The response sent back to the network is in the format of YYYYMMDDHHMM, as
defined in the previous paragraph. The buffer ID and the data are appended to a Ready Solicited
Status message.

Agilis 3 91x Version Data


The normal response to a Retrieve Agilis 3 91x Version Data command is a Ready Solicited Status
message (status descriptor equals 9) containing Agilis 3 91x version data. Table 7-30 shows the
format of the Solicited Status message.
Table 7-30 Solicited Status Message for Agilis 3 91x Version Data
Description Data Number of Characters
Protocol Dependent Header Variable Variable
Solicited/Unsolicited ID 2 1
Message Identifier 2 1
Field Separator (FS) hex 1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) hex 1C 1
[ Message Sequence Number ] [---] [ Variable (8 max) ]
Field Separator (FS) hex 1C 1
Status Descriptor 9 1
Field Separator (FS) hex 1C 1
Version Data ID J 1
Agilis 91x Application Name --- Variable
Unit Separator (US) hex 1F 1
Agilis 91x Application Version --- Variable
Record Separator (RS) hex 1E 1
XFS Manager Name --- Variable
Unit Separator (US) hex 1F 1
XFS Manager Version --- Variable
Protocol Dependent Trailer Variable Variable

The following paragraphs describe the fields in the Solicited Status message that are specific to the
Agilis 91x version data.

Version Data ID
Field Size: 1 character
Valid Range: J
Description: The version data ID for Agilis 3 91x version data is J.

Agilis 91x Application Name


Field Size: Variable
Valid Range: Variable
Description: The Agilis 3 91x Application Name field contains the name of the Agilis 3 91x
application as set in the terminal's registry.

Agilis 91x Application Version


Field Size: Variable
Valid Range: Variable
Description: The Agilis 3 91x Application Version field contains the version number of the Agilis 3
91x application as set in the terminal's registry.

XFS Manager Name


Field Size: Variable
Valid Range: Variable
Description: The XFS Manager Name field contains the name of the XFS Manager application as
set in the terminal's registry.

XFS Manager Version


Field Size: Variable
Valid Range: Variable
Description: The XFS Manager Version field contains the version number of the XFS Manager
application as set in the terminal's registry.

EXAMPLE

Table 7-31 shows an example of Agilis 3 91x version data for an Opteva terminal.

Table 7-31 Example Agilis 3 91x Version Data


Description Data Number of Characters
Field Separator (FS) hex 1C 1
Version Data ID J 1
Agilis 91x Application Name Agilis 91x Core 15
Unit Separator (US) hex 1F 1
Agilis 91x Application Version 3.0.3 9
Record Separator (RS) hex 1E 1
XFS Manager Name Agilis XFS for Opteva 21
Unit Separator (US) hex 1F 1
XFS Manager Version 3.11.0 6
Appendix A
ASCII-to-EBCDIC Code Conversion Chart

Character ASCII (Hex) EBCDIC (Hex) Character ASCII (Hex) EBCDIC (Hex)
NUL 00 00 Space 20 40
[1]
SOH 01 01 ! 21 4F
STX 02 02 " 22 7F
ETX 03 03 # 23 7B
EOT 04 37 $ 24 5B
ENQ 05 2D % 25 6C
ACK 06 2E & 26 50
BEL 07 2F ' 27 7D
BS 08 16 ( 28 4D
HT 09 05 ) 29 5D
LF 0A 15 * 2A 5C
VT 0B 0B + 2B 4E
FF 0C 0C , 2C 6B
CR 0D 0D - 2D 60
SO 0E 0E . 2E 4B
SI 0F 0F / 2F 61
DLE 10 10 0 30 F0
DC1 11 11 1 31 F1
DC2 12 12 2 32 F2
DC3 13 13 3 33 F3
DC4 14 3C 4 34 F4
NAK 15 3D 5 35 F5
SYN 16 32 6 36 F6
ETB 17 26 7 37 F7
CAN 18 18 8 38 F8
EM 19 19 9 39 F9
SUB 1A 3F : 3A 7A
ESC 1B 27 ; 3B 5E
FS 1C 1C < 3C 4C
GS 1D 1D = 3D 7E
RS 1E 1E > 3E 6E
US 1F 1F ? 3F 6F
@ 40 7C ' 60 Undefined
A 41 C1 a 61 81
B 42 C2 b 62 82
C 43 C3 c 63 83
D 44 C4 d 64 84
E 45 C5 e 65 85
F 46 C6 f 66 86
G 47 C7 g 67 87
H 48 C8 h 68 88
I 49 C9 i 69 89
J 4A D1 j 6A 91
K 4B D2 k 6B 92
L 4C D3 l 6C 93
M 4D D4 m 6D 94
N 4E D5 n 6E 95
O 4F D6 o 6F 96
P 50 D7 p 70 97
Q 51 D8 q 71 98
R 52 D9 r 72 99
S 53 E2 s 73 A2
T 54 E3 t 74 A3
U 55 E4 u 75 A4
V 56 E5 v 76 A5
W 57 E6 w 77 A6
X 58 E7 x 78 A7
Y 59 E8 y 79 A8
Z 5A E9 z 7A A9
[1]
[ 5B 4A { 7B C0
[1]
\ 5C 6A | 7C 80
[1]
] 5D 5A } 7D D0
[1]
^ 5E 5F ~ 7E A1
_ 5F 6D DEL 7F 07
[1]
This cross-reference uses Diebold's implementation of EBCDIC. The characters noted differ from
the standard IBM EBCDIC characters.

Appendix B
Customizing CREQs for Mixed Deposit Transactions
For mixed deposit transactions, you can customize the CREQ to include all of the MICR data and all
individual document amounts in delimited buffers.

This CREQ will include data stored in the following buffers:


 MICR Buffer (087). Stores the MICR lines of all the deposited checks, delimited by
semicolons.
 Dollar Buffer (065). Stores the total deposit amount.
 General Buffer B (066). Stores the deposited cash amount, a ‘!' delimiter, all the CAR/LAR
amounts separated by semicolons, an ‘=' delimiter, and all the keyed-in amounts separated
by semicolons. Checks with no keyed-in amount will sport a null keyed-in field. All the non-
null amounts are 8-digit fields.
 General Buffer C (067). Stores the total number of checks deposited.

By using the @I Enhanced Consumer Request state, you can add all of the cash counts to the
CREQ by appending the respective count buffers.

EXAMPLE

The cardholder performs a mixed deposit consisting of $50 cash (two bills of $20 and one bill of
$10) and three checks with respective amounts of $1000.00, $200.00, and $34.56. The resultant
CREQ would be:

11{FS}123{FS}{FS}{FS}03{FS}<Track 2>
{FS}{FS}MCHKABCD{FS}00128456{FS}<4>693=1;8:460>1{FS}
00005000!00100000;00020000;00003456=;;{FS}{FS}
2T04100555T1234567890*;T022300173T7583928*;T2345678T12345678*{FS}9
31000000001{GS}311000{GS}31200000002{GS}313000{GS}31400000005{GS}315000{G
S}
31600000010{GS}317001{GS}31800000020{GS}319002{GS}32000000050{GS}321000{G
S}
32200000100{GS}323000{GS}32400000000{GS}325000{GS}34200000000{GS}343000{G
S}
34400000000{GS}345000

EXAMPLE

The following example depicts the longest possible CREQ assuming maximum cash and check
deposits assuming 30 checks are deposited.

Maximum
Description Size Comments
Protocol Dependent Header Variable
Solicited/Unsolicited ID 1
Message Identifier 1
Field Separator (FS) 1
Logical Unit Number (LUNO) 9
Field Separator (FS) 1
Field Separator (FS) 1
[ Time Variant Number ] 8
Field Separator (FS) 1
Top-of-Form Flag 1
Message Coordination Number 1
Field Separator (FS) 1
[ Track 2 Data ] 40
Field Separator (FS) 1
[ Track 3 Data ] 106
Field Separator (FS) 1
[ Function Key Buffer ] 8
Field Separator (FS) 1
[ Dollar and Cents Keyboard 12
Entry ]
Field Separator (FS) 1
[ PIN Data ] 16
Field Separator (FS) 1
[ General Purpose Buffer B ] 8 8: Cash Amount
1270
270 1: Delimiter

270: CAR/LAR amounts, assuming 30 amounts


with delimiters.

270: Keyed amounts, assuming 30 amounts with


delimiters.
Field Separator (FS) 1
[ General Purpose Buffer C ] 30 Assuming 30 checks.
Field Separator (FS) 1
Field ID (Track 1 Data)
Track 1 Data
Field Separator (FS) 1
MICR Data 1530 Assuming 30 MICRs with delimiters
Field Separator (FS) 1
Field ID (Buffers to Follow) 1
Cash Buffers 180 Assuming all buffers are sent.
Field Separator (FS)
Protocol Dependent Trailer

Appendix C
Currency Acceptor Application Notes
This section contains application notes for implementing cash deposit transactions for terminals
equipped with a currency acceptor. The section provides the following material:

 Example transaction flow for currency selection (Section C.1)


 Example transaction flows for capturing the consumer ID (Section C.2)
C.1 Currency Selection Example

In this example, a BNA is configured to recognize and accept both European Union (EU) euros and
U.S. dollars. This example illustrates how the consumer can select which type of currency they want
to deposit, and how that information is sent to the network.

State Outline
In this example, the consumer has already successfully begun a session on the terminal (for
example, the consumer has inserted their card and entered their PIN), and has selected a cash
deposit transaction from the list of services offered by the terminal.

This example progresses through the following states.

1. Select Function State #1 (choose currency type).


2. Set Buffer State (store currency code).
3. Currency Acceptor State with operation 001 (open the shutter to receive cash - consumer
inserts cash).
4. Select Function State #2 (indicate readiness to continue after cash has been inserted).
5. Currency Acceptor State with operation 002 (verify the deposit).
6. Select Function State #3 (choose to accept deposit amount, add to deposit amount, or
cancel transaction).
7. Transaction Request State (send transaction request to network).
8. Function Command message from the network containing a command to perform currency
acceptor operation 103 (cash retain).

Transaction
The following steps describe the example transaction in more detail.

1. Select Function State #1: The terminal displays a screen asking the consumer to indicate
the type of currency to be deposited (for example, EU euros or U.S. dollars). This state
(050) is a Select Function (E) state. The state is formatted as follows:

050E051056056060260255255001

(The Function Key A Next State entry is shown in bold italics and represents the Euro
option.)

In this example, the consumer selects the Euro option.

2. Set Buffer State: State 060 is a Set Buffer (@F b) state. This state stores the currency code
for euro currency (EUR) in buffer 256. The state is formatted as follows:
3. 060@F
b070256001069085082

(The Good Operation Next State entry is shown in bold italics. The Value entries for the
currency code are underlined.)

Notice that decimal notation, rather than hexadecimal notation must be used for the ASCII
characters being set in the buffer.

4. CI b Operation 001 State: The next state (070) is a Currency Acceptor state (CI b) for
performing a Cash Deposit operation (operation 001). This state is formatted as follows:
5. 070CI
6. b001
001071100080075076077075078079001075076065256

(The Good Operation Next State entry is shown in bold italics. The Operation entry is
underlined.)

The terminal screen prompts the consumer to deposit bills into the BNA, and the shutter is
opened. Buffer 256 is read to determine which currency type the consumer intends to
deposit. When the BNA detects the presence of the bills in the input area, the terminal
advances to state 080.

NOTE

This operation sets the currency type for the duration of the transaction. Additional
Cash Deposit operations (for add-to-deposit scenarios) must use the same currency
type.

7. Select Function State #2: The next state (080) is a Select Function (E) state. The terminal
screen for this Select Function state asks the consumer if they are ready to continue. This
(optional but recommended) intermediate state prevents the immediate progression to the
CI b operation 002 state (because CI b operation 002 closes the shutter). The intermediate
Select Function state gives consumers the opportunity to place all their bills in the input
area. This state is formatted as follows:

080E081086086090255255255001

(The Function Key A Next State entry is shown in bold italics and represents the Continue
option.)

In this example, the consumer selects the Continue option.

8. CI b Operation 002 State: During state 090, the bills are counted and any bills that cannot
be processed are returned to the consumer through the BNA shutter. This state is formatted
as follows:
9. 090CI
10. b001
002091100100095096097095098099001095096065066067

(The Good Operation Next State entry is shown in bold italics. The Operation entry is
underlined.)

The total value of the cash deposit is written to the Dollar Buffer (buffer 065). The currency
code is written to General Purpose Buffer B (buffer 066), and the denomination counts are
written to General Purpose Buffer C (buffer 067).

NOTE

It is recommended that separate currency code buffers be used for the Cash Deposit
operation versus the Cash Verify and Cash Retain operations. If a single buffer is
used for all operations, undesirable consequences can result in some cases from
Agilis 3 91x overwriting the buffer contents during add-to-deposit scenarios or error
recovery.
In this example, buffer 256 is used for reading the currency code, and buffer 066 is used for
writing the currency code.

NOTE

If any bills are to be returned to the consumer, the Processing Error screen (screen 2
or screen 3) displays automatically. Make sure this screen tells the consumer to
immediately collect the returned bills. Also, make sure the consumer is given enough
time to retrieve the bills. If the bills are not collected within the allotted time, the
shutter closes and the terminal takes the Consumer Fault Next State exit instead of
the Good Operation Next State exit.

11. Select Function State #3: The next state (100) is a Select Function (E) state. The terminal
displays a screen with the amount that has been recognized and placed into escrow. This
Select Function state allows the consumer to specify whether the cash amount recognized
by the BNA agrees with the consumer's expectation. The screen gives the consumer three
options:
o OK (accept the transaction)
o Cancel
o Add to (continue depositing bills for the transaction)

The Select Function (E) state is formatted as follows:

100E101106106110255255255001

(The Function Key A Next State entry is shown in bold italics and represents the OK
option.)

In this example, the consumer selects the OK option.

12. Transaction Request ( I ) State: At this point in the transaction, the Consumer Request
message is built during state 110 and sent to the network. The Transaction Request state is
formatted as follows:

110I111115001000001001001003

The resulting Consumer Request message provides the following cash deposit information
to the network:

o Total value of the deposited cash (Dollar Buffer)


o Currency code (General Purpose Buffer B)
o Denomination counts (General Purpose Buffer C)
13. Function command CI b operation 103: With this function command, the network directs the
terminal to perform a Cash Retain operation. The terminal displays a "Transaction Being
Processed" message and moves the cash from the escrow area to the free-fall cassette.
The CI b function data is formatted as follows:
14. CI
15. b001
103121100000000000065
(The Operation entry is underlined.)

If the network uses a 9000-style Function Command message, the CI b function data is
placed in the Enhanced Configuration Data field. If the network uses an enhanced Function
Command message, the CI b function data is placed in the Perform Function set of fields.

At this point, the cash deposit transaction is complete. Depending on an institution's procedures, the
consumer can be offered another transaction or the state flow can be directed toward ending the
consumer session.

C.2 Capturing the Consumer ID

The following two examples each outline a deposit transaction that fails because the BNA jams or
otherwise fails while processing bills. In each example, remote (on-host) logging is expected to
store the consumer ID when logging the failure. Remote logging is important because the consumer
ID is not sent to the journal printer when a jam occurs. In each example, the consumer ID is sent to
the network in a Consumer Request message, and the jam occurs during operation 002 or 102
(singling/verification).

In the first example (Section C.2.1), all currency acceptor operations are initiated by function
commands from the network. This illustrates how the consumer ID for logging can be sent to the
network very early in the transaction, before the failure can occur.

In the second example (Section C.2.2), all currency acceptor operations are initiated by states. This
illustrates how the consumer ID for logging can be sent to the network later in the transaction, after
the failure has occurred.

In both examples, the transaction does not reach the retain phase (currency acceptor operation
003 or 103). Therefore, the network might not have established a meaningful transaction identifier.
This is not important, since only the consumer ID is relevant in the transaction flow.

C.2.1 Example 1: Function Command Driven Transaction

In this example, all currency acceptor operations are initiated by function commands from the
network. The example illustrates how the consumer ID can be sent to the network very early in the
transaction, before the failure can occur.

State Outline
In this example, the consumer has already successfully begun a session on the terminal (for
example, the consumer has inserted their card and entered their PIN), and has selected a cash
deposit transaction from the list of services offered by the terminal.

This example progresses through the following steps.

1. Clear Keys State #1 (D).

This state presets the Function Key buffer to request a "DEPOSIT" operation.

2. Transaction Request State #1 ( I ).

This state sends the consumer information (Track2 and PIN data) and also sends the
request for a currency acceptor deposit operation (request is encoded in the Function Key
buffer). The function command from the network commands currency acceptor operation
101 (deposit), which opens the shutter. The consumer inserts cash and the terminal sends
a Ready response to network.

3. Select Function State #1 (E).

After the consumer has inserted cash, this state prompts him for an OK response to
continue to the next step.

4. Clear Keys State #2 (D).

This state presets the Function Key buffer to request a VERIFY operation.

5. Transaction Request State #2 ( I ):


o This state repeats the consumer information (Track2 and PIN data) and also sends
the request for a currency acceptor verify operation (request is encoded in the
Function Key buffer). The function command from the network commands currency
acceptor operation 102 (verify), which closes the shutter and processes the bills.
o Normally, the BNA successfully processes the bills and the terminal sends the
Ready response.
o However in this example, a jam occurs in the bill transport, resulting in a solicited
status response that indicates failure. Related unsolicited responses may also
occur and provide additional information to the network. The network sends a new
function command to the terminal in response to the fault. The function command
directs the terminal to the appropriate next state.
6. Select Function State #2 (E).

This state informs the consumer that a problem has occurred.

Transaction
For each step, the detailed formatting of the corresponding state and function command is
provided. Bold-italic typeface is used for the current state number and for the number of the next
state of interest. Some next state numbers and certain screen numbers are irrelevant to this
particular transaction flow, and so they are filled with xxx. The most interesting screens and next
states are described in the Remark column.

1. Clear Keys State #1: This state initializes the Function Key buffer to the code AAAAAAAA,
which in this example represents the terminal's request for a currency acceptor deposit
(operation 101).

Table C-1 Clear Keys State #1


CLEAR KEYS (D) STATE #1 Remark
005 State Number
D State Type
006 Next State Number To Transaction Request ( I ) state
255 Clear Mask No embedded spaces
255 A Preset Mask Function Key Buffer = AAAAAAAA
000 B Preset Mask
000 C Preset Mask
000 D Preset Mask
000 Reserved
000 Reserved

2. Transaction Request State #1: This state sends the consumer information and the
operation request (in the Function Key buffer) to the network.

Table C-2 Transaction Request State #1


TRANSACTION REQUEST ( I ) STATE #1 Remark
006 State Number
I State Type
xxx Screen Number "Please wait &mldr;"
xxx Network Response Time-out Next State
001 Send Track 2 Data Send data
000 Send Track 1, Track 3, and/or MICR Data Do not send
001 Send Function Key Buffer Data Send data
000 Send Dollar Buffer Data Do not send
001 Send PIN Data Send data
000 Send General Purpose Buffer(s) B and/or C Data Do not send

3. OPERATION 101 FUNCTION COMMAND: The network responds to the Consumer


Request message with the following Function Command. Note that the "Good Operation
Next State" field specifies the next step (state 007), which will occur after the function
command has completed.

Table C-3 Function Command #1 (Operation 101)


Function Command #1 (Operation 101) Remark
7 Message ID (Function Command)
Response Flag
1C Field Separator (FS)
Logical Unit Number (LUNO)
1C Field Separator (FS)
Message Sequence Number
1C Field Separator (FS)
0 Message Coordination Number
1C Field Separator (FS)
0000 Transaction Serial Number
1C Field Separator (FS)
007 Good Operation Next State
1C Field Separator (FS)
: Field ID (Perform Function)
CI Group ID (Device ID)
Refer to Table C-4 Function Data

4. The Function Data field in the Function Command is detailed below. The data provides the
details for how the currency acceptor deposit operation should perform. When the
consumer inserts cash, the Function Command is completed. The terminal then sends a
Ready response to the network and moves to the next state (007), which was specified by
the Function Command.

Table C-4 Function Data for Currency Acceptor Operation 101


FUNCTION DATA for Operation 101 Remark
001 Unit Number
101 Operation Cash deposit
xxx Screen Number "Please insert cash"
160 Consumer Response Time 160 seconds
Retract Option
Screen 2
Screen 3
Amount Buffer ID
Currency Code Buffer ID Optional
Count Buffer ID Optional

5. Select Function State #1: At this point, the shutter remains open, which allows the
consumer to adjust or add bills to the stack. When the consumer is satisfied and ready to
continue, the consumer makes the "Continue" selection, which steps the transaction to that
next state.

Table C-5 Select Function State #1


SELECT FUNCTION (E) STATE #1 Remark
007 State Number
E State Type
xxx Screen Number "OK to continue?"
xxx Time-out Next State
xxx Cancel Next State
008 Function Key A Next State "Continue" selection
xxx Function Key B Next State
xxx Function Key C Next State
xxx Function Key D Next State
000 Function Key Buffer Location Byte 0 position in buffer
6. Clear Keys State #2: This state initializes the Function Key buffer to the code BBBBBBBB,
which in this example represents the terminal's request for a currency acceptor verify
operation (operation 102).

Table C-6 Clear Keys State #2


CLEAR KEYS (D) STATE #2 Remark
008 State Number
D State Type
009 Next State Number To Transaction Request ( I ) state
255 Clear Mask No embedded spaces
000 A Preset Mask
255 B Preset Mask Function Key Buffer = BBBBBBBB
000 C Preset Mask
000 D Preset Mask
000 Reserved
000 Reserved

7. Transaction Request State #2: This state sends the consumer information and the
operation request (in the Function Key buffer) to the network.

Table C-7 Transaction Request State #2


TRANSACTION REQUEST ( I ) STATE #2 Remark
009 State Number
I State Type
xxx Screen Number "Please wait &mldr;"
xxx Network Response Time-out Next State
001 Send Track 2 Data Send data
000 Send Track 1, Track 3, and/or MICR Data Do not send
001 Send Function Key Buffer Data Send data
000 Send Dollar Buffer Data Do not send
001 Send PIN Data Send data
000 Send General Purpose Buffer(s) B and/or C Data Do not send

8. OPERATION 102 FUNCTION COMMAND: The network responds to the Consumer


Request message with the following Function Command. Note that the "Good Operation
Next State" field specifies the next step (state 010), which normally occurs after the function
command has completed successfully.

Table C-8 Function Command #2 (Operation 102)


Function Command #2 (Operation 102) Remark
7 Message ID (Function Command)
Response Flag
1C Field Separator (FS)
Logical Unit Number (LUNO)
1C Field Separator (FS)
Message Sequence Number
1C Field Separator (FS)
0 Message Coordination Number
1C Field Separator (FS)
0000 Transaction Serial Number
1C Field Separator (FS)
010 Good Operation Next State
1C Field Separator (FS)
: Field ID (Perform Function)
CI Group ID (Device ID)
Refer to Table C-9 Function Data

9. The Function Data field in the Function Command table is detailed in Table C-9. The data
provides the details for how the currency acceptor verify operation should perform. If the
verification processing finishes normally, the Function Command is completed and moves
to the next state (010), which is specified in the Function Command.

Table C-9 Function Data for Currency Acceptor Operation 102


FUNCTION DATA for Operation 102 Remark
001 Unit Number
102 Operation Cash verify
xxx Screen Number "Please wait"
150 Consumer Response Time
001 Retract Option
xxx Screen 2 "Remove leftovers"
xxx Screen 3 "Could not process"
065 Amount Buffer ID
066 Currency Code Buffer ID Optional
067 Count Buffer ID Optional

10. However, as the terminal executes the function command, the currency acceptor verify
operation fails due to a bill jam. The BNA device issues a status code to convey the fault
condition. In response, the terminal sends a Solicited Status message to inform the network
of the BNA fault condition and waits for the network to direct the next operation. The
terminal does not take the "Good Operation Next State" (state 010) specified by the OP2
Function Command.
11. NEXT STATE FUNCTION COMMAND: The network responds to the Solicited Status
message with the following Function Command. The "Good Operation Next State" field
specifies the next step (state 012), which occurs after the function command has
completed.
Table C-10 Next State Function Command
Next State Function Command Remark
7 Message ID (Function Command)
Response Flag
1C Field Separator (FS)
Logical Unit Number (LUNO)
1C Field Separator (FS)
Message Sequence Number
1C Field Separator (FS)
0 Message Coordination Number
1C Field Separator (FS)
0000 Transaction Serial Number
1C Field Separator (FS)
012 Good Operation Next State

12. The Function Command message contains no field entries because this function command
is intended only to cause the change in state.
13. Select Function State #2: This state informs the consumer that a problem has occurred.

Table C-11 Select Function State #2


SELECT FUNCTION (E) STATE #2 Remark
012 State Number
E State Type
xxx Screen Number "Cash Acceptor Failed"
013 Time-out Next State
013 Cancel Next State
013 Function Key A Next State "OK" selection
xxx Function Key B Next State
xxx Function Key C Next State
xxx Function Key D Next State
000 Function Key Buffer Location Byte 0 position in buffer

At this point, the cash deposit transaction is aborted. In this example, Select Function state #2
directs the state flow toward ending the consumer session, regardless of the consumer's response.

C.2.2 Example 2: State Driven Transaction

In this example, all currency acceptor operations are initiated by states. The example illustrates how
the consumer ID can be sent to the network late in the transaction, after the failure has occurred.

State Outline
In this example, the consumer has already successfully begun a session on the terminal (for
example, the consumer has inserted their card and entered their PIN), and has selected a cash
deposit transaction from the list of services offered by the terminal.

This example progresses through the following steps.

1. Currency Acceptor state #1 (operation 001 - cash deposit). This state commands currency
acceptor operation 001 (deposit), which opens the shutter. The consumer inserts cash and
the terminal proceeds to the good operation next state.
2. Select Function State #1 (E). After the consumer has inserted cash, this state prompts him
for an OK to continue to the "verify" step.
3. Currency Acceptor state #2 (operation 002 - cash verify). This state commands currency
acceptor operation 002 (verify), which closes the shutter and processes the bills:
o Normally, the BNA successfully processes the bills and terminal takes the good
operation next state exit.
o However in this example, a jam occurs in the bill transport, resulting in a hardware
fault. Related Unsolicited Status messages may be sent to the network. If the
network interprets them while handling the Consumer Request message (which
follows in Step 5), they may provide additional information.
4. Clear Keys State (D). This state presets the Function Key buffer to simultaneously identify a
transport jam and request a next state number.
5. Transaction Request State ( I ):
o This state sends the consumer information (Track2 and PIN data) and also sends
the request for a "next state after jam" function command (request is encoded in
the Function Key buffer).
o Because the Function Key buffer identified a transport jam, the next state
commanded is a Select Function (E), which informs the consumer that there is a
problem. This state is designed to initiate, after the consumer acknowledges or
times out, a finishing state sequence of Card Write (L) followed by Close State (J).
6. Select Function State #2: This state informs the consumer that a problem has occurred.

Transaction
For each step, the detailed formatting of the corresponding state and function command follows.
Bold-italic typeface is used for the current state number and for the number of the next state of
interest. Some next state numbers and certain screen numbers are irrelevant to this particular
transaction flow, and so they are filled with xxx. The most interesting screens and next states are
described in the Remark column.

1. Currency Acceptor state #1 (operation 001 - cash deposit): The shutter opens and the
consumer is prompted to insert cash. When the consumer has inserted cash, the Good
Operation Next State exit is taken.

Table C-12 Currency Acceptor State #1


CURRENCY ACCEPTOR (CI) STATE #1 (Operation 001) Remark
005 State Number
CI b State Type
001 Unit Number
001 Operation
xxx Screen Number
xxx Consumer Response Time
006 Good Operation Next State To Select Function (E) state
xxx Consumer Fault Next State
xxx Hardware Fault Next State
xxx Network Fault Next State
xxx Cancel Next State
xxx Deposit Fault Next State
xxx No Media Next State
001 Retract Option
xxx Screen 2
xxx Screen 3
065 Amount Buffer ID
066 Currency Code Buffer ID Optional
067 Count Buffer ID Optional

2. Select Function State #1: At this point, the shutter remains open, which allows the
consumer to adjust or add bills to the stack. When the consumer is satisfied and ready to
continue, the consumer makes the "Continue" selection, which directs the terminal to the
next state.

Table C-13 Select Function State #1


SELECT FUNCTION (E) STATE #1 Remark
006 State Number
E State Type
xxx Screen Number "OK to continue?"
xxx Time-out Next State
xxx Cancel Next State
007 Function Key A Next State "Continue" selection
xxx Function Key B Next State
xxx Function Key C Next State
xxx Function Key D Next State
000 Function Key Buffer Location Byte 0 position in buffer

3. Currency Acceptor state #2 (operation 002 - cash verify): The shutter closes and the BNA
attempts to single and verify the bills. A jam occurs and the Hardware Fault Next State is
taken.

Table C-14 Currency Acceptor State #2


CURRENCY ACCEPTOR (CI) STATE #2 (Operation 002) Remark
007 State Number
CI b State Type
001 Unit Number
002 Operation
xxx Screen Number
xxx Consumer Response Time
xxx Good Operation Next State
008 Hardware Fault Next State To Clear Keys (D) state
xxx Network Fault Next State
xxx Cancel Next State
xxx Deposit Fault Next State
xxx No Media Next State
001 Retract Option
xxx Screen 2
xxx Screen 3
065 Amount Buffer ID
066 Currency Code Buffer ID Optional
067 Count Buffer ID Optional

4. Clear Keys State: This state initializes the Function Key buffer to the code CCCCCCCC,
which in this example, represents the terminal's request for a next state number.

Table C-15 Clear Keys State


CLEAR KEYS (D) STATE Remark
008 State Number
D State Type
009 Next State Number To Transaction Request ( I ) state
255 Clear Mask No embedded spaces
000 A Preset Mask
000 B Preset Mask
255 C Preset Mask Function Key buffer = CCCCCCCC
000 D Preset Mask
000 Reserved
000 Reserved

5. Transaction Request State: This state sends the consumer information and the operation
request (in the Function Key buffer) to the network.

Table C-16 Transaction Request State


TRANSACTION REQUEST ( I ) STATE Remark
009 State Number
I State Type
xxx Screen Number "Please wait &mldr;"
xxx Network Response Time-out Next State
001 Send Track 2 Data Send data
000 Send Track 1, Track 3, and/or MICR Data Do not send
001 Send Function Key Buffer Data Send data
000 Send Dollar Buffer Data Do not send
001 Send PIN Data Send data
000 Send General Purpose Buffer(s) B and/or C Data Do not send

6. The network responds to the Consumer Request message with the following Function
Command. Note that the "Good Operation Next State" field specifies the next step (state
010), which will occur after the function command has completed.

Table C-17 Function Command (request next state)


Function Command Remark
7 Message ID (Function Command)
Response Flag
1C Field Separator (FS)
Logical Unit Number (LUNO)
1C Field Separator (FS)
Message Sequence Number
1C Field Separator (FS)
0 Message Coordination Number
1C Field Separator (FS)
0000 Transaction Serial Number
1C Field Separator (FS)
010 Good Operation Next State

7. The Function Command message contains no field entries because this function command
is intended only to cause a change in state.
8. Select Function State #2: This state informs the consumer that a problem has occurred.

Table C-18 Select Function State #2


SELECT FUNCTION (E) STATE #2 Remark
010 State Number
E State Type
xxx Screen Number "Cash Acceptor Failed"
011 Time-out Next State
011 Cancel Next State
011 Function Key A Next State "OK" selection
xxx Function Key B Next State
xxx Function Key C Next State
xxx Function Key D Next State
000 Function Key Buffer Location Byte 0 position in buffer

At this point, the cash deposit transaction is aborted. In this example, Select Function state #2
directs the state flow toward ending the consumer session, regardless of the consumer's response.

C.3 Transaction Logging

Transaction Logging for the currency acceptor allows transaction data, including all cash-in counts,
to be recorded onto the journal printer and/or the electronic journal device during a deposit
operation. The data can be recorded at anytime when notes are physically moved using the
currency acceptor for a deposit.

C.3.1 Configuration Settings

Transaction Logging for the currency acceptor is an optional feature that can be enabled or
disabled through the Agilis Configuration Utility (ACU).

When Transaction Logging is enabled, Agilis 3 91x logs the transaction details for certain types of
currency acceptor operations for use in dispute reconciliation (Figure C-1).

Figure C-1 ACU Transaction Logging Settings


The Agilis Configuration Utility (ACU) consists of two settings as described in the following
paragraphs.

Transaction Logging
The Transaction Logging setting allows you to enable/disable this feature. Thus, if the box is
unchecked, then no transaction data will be recorded onto the Journal printers during any cash-in
operation.
Logging Good Deposits
The Logging Good Deposits setting allows you to disable transaction logging, specifically for the
Cash Deposit scenario (typically CI Operation 003); the other logging scenarios are not affected by
this item. This option is available only when the Transaction Logging feature, as described above,
has been enabled.

C.3.2 Transaction Details

Transaction details, including all cash-in counts and when notes are physically moved using the
currency acceptor for a deposit, are logged at the following times, as shown in Table C-19.

Table C-19 Transaction Log Details


Transaction Logging Time
Cash Verify When notes are moved to escrow or are rejected
Cash Return When the customer chooses to cancel (or rollback) the currency
acceptor transaction
Cash Retain When notes are deposited into the cashbox or cassettes
Cash Retract Anytime notes are automatically captured by the device during a
transaction
Cash Retracted During Self Notes are captured during a Maintenance self-test operation
test

Figure C-2 describes the format of a transaction log entry printed to the journal printer. When
logging to the electronic journal device, this entry comprises a single electronic journal record.

Figure C-2 Format of Transaction Log Entry for Cash Retained

C.3.3 Logging Layout Scenarios


There are five logging scenarios in which transaction logging can occur. Each of these scenarios
has a corresponding TXT (ASCII text) file which defines the logging layout for that particular
scenario shown in Table C-20.

Table C-20 Logging Layout Files


Transaction Type Logging Layout Text Form
Cash Verify D91XCashInVerified.txt
Cash Return D91XCashInReturned.txt
Cash Retain D91XCashInRetained.txt
Cash Retract D91XCashInRetracted.txt
Cash Retract During Self-Test D91XCashInRetractedSelfTest.txt

NOTE

The Cash Retain scenario can also be individually configured.

These defined default layouts allow you to rename these form files or change their location. They
are located in the following path:

C:\Program Files\Diebold\Agilis EmPower\Forms

Customization
The journal format of the TXT file(s) references special tags defined in the TagsInfoTable.xml file.
These tags map to properties exposed by Agilis 3 91x, providing a mechanism for inserting
transaction data into the journal text. Table C-21 lists all of the Agilis 3 91x control code tags found
in the TXT files and how they are used.

Figure C-3 shows a default layout that uses many of the tags listed in Table C-21. This default
layout would generate the log record shown in Figure C-2 (assuming Article 6 was disabled).

Figure C-3 Generated Log Record


Table C-21 Agilis 3 91x Control Code Tag Usage
Agilis 3 91x Control Code Tags Description Comments
The following Agilis 3 91x tags (Table C-21) will be inserted automatically into the
TagsInfoTable.xml file at install time. It is not necessary to enter them manually using the Agilis
Configuration Utility (ACU).
<%#D91XCashInAmount> Provides a total monetary The optional Z parameter
amount for all valid notes specifies the minimum
(Type 4) that were length, where $ is a
processed during the cash- decimal integer ranging
in operation. Ideally, this from 0-9 (zeros padded to
amount could be the left).
calculated by summing the
products of each
<%#D91XCashInCount*>
and
<%#D91XCashInValue*>
pair.
<%#D91XCashInSuspectAmount%> Essentially the same as
the
<%#D91XCashInAmount>
tag but applies to suspect
(Type 3) notes instead.
<%#D91XCashInForgedAmount%> Essentially the same as
the
<%#D91XCashInAmount>
tag but applies to
counterfeit (Type 2) notes
instead.
<%#D91XCashInCount*> Inserts the count of the Represents the total
specified denomination, number of valid notes
<%#D91XCashInSuspectCount0%>
where # is a 1-digit hex (Type 4) processed for the
<%#D91XCashInForgedCount0%> number ranging from 1-a, denomination represented
corresponding with the 10 by ‘*', which is a decimal
possible currency acceptor digit ranging from 0
denominations, as through 9. For example,
specified in Agilis the
configuration. <%#D91XCashInCount2>
tag will represent the
number of notes
processed for the third
denomination encountered
during the cash-in
operation. This amount is
cumulative for multiple
add-to-deposit scenarios.
<%#D91XTransactionSerialNumber%> Inserts the transaction
serial number (TSN) of the
deposit.
<%#D91XCashInValue*> Inserts the value of the Represents the various
specified denomination, denomination values of the
where # is a 1-digit hex valid notes (Type 4)
number ranging from 1-a, processed, where the ‘*'
corresponding with the 10 field is a decimal digit
possible currency acceptor ranging from 0 through 9.
denominations as specified For example, the
in Agilis configuration. <%#D91XCashInValue3>
tag will represent the
denomination value for the
fourth denomination type
encountered during the
cash-in operation.
<%#D91XCashInSuspectValue*> The same as the
<%#D91XCashInValue*>
tags but apply to suspect
(Type 3) notes instead.
<%#D91XCashInForgedCount*> The same as the
<%#D91XCashInCount*>
tags but apply to
counterfeit (Type 2) notes
instead.
<%#D91XCashInForgedValue*> the same as the
<%#D91XCashInValue*>
tags but apply to
counterfeit (Type 2) notes
instead.
<%#D91XCashInRejectCount%> Inserts the number of
rejected notes.
<%#D91XCashInCurrencyCode%> Inserts the 3-digit ISO
currency code of the cash
deposit, which corresponds
with the Currency Buffer ID
field specified in the CI
function command.
The following tags are set through the Denotes the start and end Applies to Type 4 notes
ACU and are selected accordingly. of text that should be only.
suppressed (hidden) if zero
<%#D91XForEachCountStart%> counts are encountered These tags do not actually
(based on %n or %b get substituted with data
<%#D91XForEachCountEnd%> sequences). values from a property.
Instead, they provide the
ability to repeat the text
defined within them for
every non-zero Type 4
denomination that was
deposited or retracted. For
example, if USD 1, USD 5,
and USD 20 notes were
processed, then the text
appearing between these
two tags would be
repeated three times, each
on a new line.

In addition, any special {#}


fields (highlighted in yellow
in Figure C-2) appearing in
the enclosed text will get
replaced with the current
index value, represented
by a zero-based decimal
digit that gets incremented
for each denomination
detected. Following the
same example above, the
{#} fields would get
replaced by “0", “1", and
“2", corresponding with the
three different USD
denominations that were
processed.
<%#D91XForEachSuspectCountStart%> Denotes the start and end Applies to Type 3 notes
of text that should be (suspect) only.
<%#D91XForEachSuspectCountEnd%> suppressed (hidden) if zero
counts are encountered These tags do not actually
(based on %n or %b get substituted with data
sequences). values from a property.
Instead, they provide the
ability to repeat the text
defined within them for
every non-zero .Type 3
denomination that was
deposited or retracted. For
example, if USD 1, USD 5,
and USD 20 notes were
processed, then the text
appearing between these
two tags would be
repeated three times, each
on a new line.
In addition, any special {#}
fields (highlighted in yellow
in Figure C-2) appearing in
the enclosed text will get
replaced with the current
index value, represented
by a zero-based decimal
digit that gets incremented
for each denomination
detected. Following the
same example above, the
{#} fields would get
replaced by “0", “1", and
“2", corresponding with the
three different USD
denominations that were
processed.
<%#D91XForEachForgedCountStart%> Denotes the start and end Applies to Type 2 notes
of text that should be only.
<%#D91XForEachForgedCountEnd%> suppressed (hidden) if zero
counts are encountered These tags do not actually
(based on %n or %b get substituted with data
sequences). values from a property.
Instead, they provide the
ability to repeat the text
defined within them for
every non-zero.Type 2
denomination that was
deposited or retracted. For
example, if USD 1, USD 5,
and USD 20 notes were
processed, then the text
appearing between these
two tags would be
repeated three times, each
on a new line.

In addition, any special {#}


fields (highlighted in yellow
in Figure C-2) appearing in
the enclosed text will get
replaced with the current
index value, represented
by a zero-based decimal
digit that gets incremented
for each denomination
detected. Following the
same example above, the
{#} fields would get
replaced by “0", “1", and
“2", corresponding with the
three different USD
denominations that were
processed.
<%#D91XShowIfArt6Start%> Denotes the start and end These tags do not actually
of text that should be get substituted with data
<%#D91XShowIfArt6End%> suppressed (hidden) if the from some TagInfoTable
Fraudulent Note Detection property, but rather, they
option has not been provide the ability to
enabled (that is, non-Euro suppress certain text when
currencies). Article 6 support is
disabled. In other words,
when Article 6 is disabled,
any text appearing
between these tags will be
suppressed and will NOT
appear in the resulting
journal record.

Appendix D
Other Application Notes
This appendix contains application notes for various features available with Agilis 3 91x. These
notes describe the feature, hardware and software requirements for the feature, how to implement
the feature, why you might want to use the feature, and provide some use cases for the feature.

D.1 General Operation Guidelines

This section contains general operation guidelines for operating Diebold terminals.

The host should not allow withdrawals when the chest door (safe door) is open.

D.2 Euro Support

Agilis 3 91x provides the following support for displaying and printing the euro symbol (€).

Display Support
For fonts 0, 1, and 2, the default configuration of the Character Set Translation maps hex 7E (the ~
character in ASCII) to the euro symbol. An institution can use the ACU to change this mapping or to
duplicate the mapping in other fonts.

Printer Support
Agilis 3 91x provides consistent euro character support for all printers configured for any graphics-
related strategy. The euro character is at hex 7F (the DEL character in ASCII) of the Standard
English character set, which is supplied with the standard Agilis 3 91x system (Section 4.1).
If the printer is configured for one of the text-related strategies or the pass-through strategy, the
euro character does not necessarily reside at hex 7F. Its presence or location (implementation) is
printer specific. In the case of Diebold's 48-column Thermal Consumer Printer , this character
resides at hex D5. Refer to the documentation supplied with the printer.

D.3 Character Recognition for the Intelligent Depository Module

This section discusses the implementation of character recognition for the Intelligent Depository
Module (IDM). For a description of the IDM device and capabilities, refer to Section 3.4.

Generalized Processing Flow


To perform character recognition on a deposited document, the following generalized flow of
terminal processing is required:

1. A Depositor state or function (DP b) is used to accept and scan the deposited document.
2. An Image Character Recognition state (IC b) is used to read the specified document fields
from the captured image and to place the data in the specified buffers.
3. A Buffer Compare state (@E b) can be used to verify that the courtesy amount data
returned by the Image Character Recognition state is valid data.

Accepting and Scanning the Document


A Depositor state or function (DP b) specifying a Deposit to Escrow operation is used to accept and
scan the deposited document. In the case of the Depositor state, the Deposit to Escrow operation is
operation 002. In the case of the Depositor function, this operation is operation 102.

Reading the Document Fields


An Image Character Recognition state (IC b) specifying operation 001 (read) is used to read the
specified document fields from the captured image and to place the data in the specified buffers.

If the courtesy amount is required for printing on the receipt (using the ESC Q control sequence),
courtesy amount recognition must be performed prior to the print operation.

Verifying That the Courtesy Amount Characters Are Valid


A Buffer Compare state (@E b) can be used to verify that the courtesy amount data returned by the
Image Character Recognition state is valid data.

Valid courtesy amount data consists of all decimal digits (0 through 9), with no decimal point or
currency symbol. If the Recognition Subsystem cannot identify a given character, the terminal
places the ^ symbol (ASCII hex 5E) in the buffer to mark the unidentified character. The Buffer
Compare state specifying a compare mode of 001 (compare as ASCII decimal) can be used to
compare the courtesy amount buffer to itself. If the buffer contains only valid data (decimal digits),
the terminal takes the Buffer_1 = Buffer_2 exit. If the buffer contains one or more ^ symbols, the
terminal takes the Compare Error exit.

EXAMPLE

The following example shows how to perform character recognition on a U.S. personal check. The
terminal reads both the MICR line and the courtesy amount.

1. The following Depositor state data directs the terminal to accept and scan a deposited
document.
2. 261 DP
3. b 001 002 103 020 262 020 053 053 000 087 000
003 113 000 025 262 166 020 124 000 000 180

4. The following Image Character Recognition state data directs the terminal to read the
Courtesy Amount field.
5. 262 IC
b 001 000 264 158 126 001 001 001 075

6. The following Buffer Compare state data directs the terminal to check the courtesy amount
buffer for valid characters.
7. 264 @E
b 001 075 001 075 001 265 266 265 265

D.4 Predefined Icons

This section describes the predefined icons supplied with an Agilis 3 91x system. There are 103
predefined icons (icon 000 through icon 102). These icons reside in the following directory:

%AgilisEmPowerPath%\Screens\Themes\91x\predefined

All the predefined icons are two-color GIFs. If the ESC C control sequence has been used to set
foreground and background colors, these icons are displayed using those colors. Otherwise, the
icons are displayed in black and white.

The following pages show all the predefined icons.


D.5 Default DAC

Table D-1 shows the color numbers and color values for the default DAC (DAC000.DAT). The
default DAC is in effect at terminal power-up or whenever the terminal encounters an ESC M control
sequence in the screen data.

The following table lists colors 0 through 15 for DAC000.DAT. These colors are the valid colors for
ESC C b f when DAC000.DAT is in effect. Also, these colors are the valid colors for ESC H nnn in
640 x 480 x 16 resolution when DAC000.DAT is in effect.
Color Number Color Color Number Color
0 Black 8 Gray
1 Blue 9 Bright blue
2 Green 10 Bright green
3 Cyan 11 Bright cyan
4 Red 12 Bright red
5 Magenta 13 Bright magenta
6 Brown 14 Yellow
7 White 15 Bright white
Table D-1 DAC000.DAT
Red Green Blue
Color Number Value Value Value
0 - 15 0 000 000 000
1 000 000 042
2 000 042 000
3 000 042 042
4 042 000 000
5 042 000 042
6 042 021 000
7 042 042 042
8 021 021 021
9 021 021 063
10 021 063 021
11 021 063 063
12 063 021 021
13 063 021 063
14 063 063 021
15 063 063 063
16 - 31 Shades of Gray 16 000 000 000
17 005 005 005
18 008 008 008
19 011 011 011
20 014 014 014
21 017 017 017
22 020 020 020
23 024 024 024
24 028 028 028
25 032 032 032
26 036 036 036
27 040 040 040
28 045 045 045
29 050 050 050
30 056 056 056
31 063 063 063
High Intensity 32 - 103 32 000 000 063
Least White 32 - 55 33 016 000 063
34 031 000 063
35 047 000 063
36 063 000 063
37 063 000 047
38 063 000 031
39 063 000 016
40 063 000 000
41 063 016 000
42 063 031 000
43 063 047 000
44 063 063 000
45 047 063 000
46 031 063 000
47 016 063 000
48 000 063 000
49 000 063 016
50 000 063 031
51 000 063 047
52 000 063 063
53 000 047 063
54 000 031 063
55 000 016 063
56 -79 Medium White 56 031 031 063
57 039 031 063
58 047 031 063
59 055 031 063
60 063 031 063
61 063 031 055
62 063 031 047
63 063 031 039
64 063 031 031
65 063 039 031
66 063 047 031
67 063 055 031
68 063 063 031
69 055 063 031
70 047 063 031
71 039 063 031
72 031 063 031
73 031 063 039
74 031 063 047
75 031 063 055
76 031 063 063
77 031 055 063
78 031 047 063
79 031 039 063
80 045 045 063
80 to 103 Most White 81 049 045 063
82 054 045 063
83 058 045 063
84 063 045 063
85 063 045 058
86 063 045 054
87 063 045 049
88 063 045 045
89 063 049 045
90 063 054 045
91 063 058 045
92 063 063 045
93 058 063 045
94 054 063 045
95 049 063 045
96 045 063 045
97 045 063 049
98 045 063 054
99 045 063 058
100 045 063 063
101 045 058 063
102 045 054 063
103 045 049 063
Intermediate Intensity 104 - 175 104 000 000 028
104 - 127 Least White 105 007 000 028
106 014 000 028
107 021 000 028
108 028 000 028
109 028 000 021
110 028 000 014
111 028 000 007
112 028 000 000
113 028 007 000
114 028 014 000
115 028 021 000
116 028 028 000
117 021 028 000
118 014 028 000
119 007 028 000
120 000 028 000
121 000 028 007
122 000 028 014
123 000 028 021
124 000 028 028
125 000 021 028
126 000 014 028
127 000 007 028
128 - 151 Medium White 128 014 014 028
129 017 014 028
130 021 014 028
131 024 014 028
132 028 014 028
133 028 014 024
134 028 014 021
135 028 014 017
136 028 014 014
137 028 017 014
138 028 021 014
139 028 024 014
140 028 028 014
141 024 028 014
142 021 028 014
143 017 028 014
144 014 028 014
145 014 028 017
146 014 028 021
147 014 028 024
148 014 028 028
149 014 024 028
150 014 021 028
151 014 017 028
152 - 175 Most White 152 020 020 028
153 022 020 028
154 024 020 028
155 026 020 028
156 028 020 028
157 028 020 026
158 028 020 024
159 028 020 022
160 028 020 020
161 028 022 020
162 028 024 020
163 028 026 020
164 028 028 020
165 026 028 020
166 024 028 020
167 022 028 020
168 020 028 020
169 020 028 022
170 020 028 024
171 020 028 026
172 020 028 028
173 020 026 028
174 020 024 028
175 020 022 028
176 - 247 Low Intensity 176 000 000 016
176 - 199 Least White 177 004 000 016
178 008 000 016
179 012 000 016
180 016 000 016
181 016 000 012
182 016 000 008
183 016 000 004
184 016 000 000
185 016 004 000
186 016 008 000
187 016 012 000
188 016 016 000
189 012 016 000
190 008 016 000
191 004 016 000
192 000 016 000
193 000 016 004
194 000 016 008
195 000 016 012
196 000 016 016
197 000 012 016
198 000 008 016
199 000 004 016
200 - 223 Medium White 200 008 008 016
201 010 008 016
202 012 008 016
203 014 008 016
204 016 008 016
205 016 008 014
206 016 008 012
207 016 008 010
208 016 008 008
209 016 010 008
210 016 012 008
211 016 014 008
212 016 016 008
213 014 016 008
214 012 016 008
215 010 016 008
216 008 016 008
217 008 016 010
218 008 016 012
219 008 016 014
220 008 016 016
221 008 014 016
222 008 012 016
223 008 010 016
224 - 247 Most White 224 011 011 016
225 012 011 016
226 013 011 016
227 015 011 016
228 016 011 016
229 016 011 015
230 016 011 013
231 016 011 012
232 016 011 011
233 016 012 011
234 016 013 011
235 016 015 011
236 016 016 011
237 015 016 011
238 013 016 011
239 012 016 011
240 011 016 011
241 011 016 012
242 011 016 013
243 011 016 015
244 011 016 016
245 011 015 016
246 011 013 016
246 011 013 016
247 011 012 016
248 - 255 All Black 248 000 000 000
249 000 000 000
250 000 000 000
251 000 000 000
252 000 000 000
253 000 000 000
254 000 000 000
255 000 000 000

D.6 ATM Soft Lock Feature


The ATM Soft Lock feature (ASL) allows you to lock out network communications, consumer
operations, and service users from the terminal. The terminal remains in the locked state until the
appropriate command is given to remove the software lock.

ASL allows software upgrades and other software service-related operations to be completed at the
terminal knowing that the terminal is not being used by a consumer, service person, teller, or host
application during the time that the service is being performed.

ASL can be used in conjunction with Agilis Remote Management. For detailed information about
Agilis Remote Management, refer to the Agilis Remote Management (ARM) Programmer's Manual
(TP-821447-001A).

Lock Operation
The following command, typed at the command line, locks the terminal:
mutil -l

The lock command can be issued at any time, but the software lock does not take effect until one of
the following conditions is met:

 A consumer is not using the terminal, and the terminal is in state 000 waiting for a card to
be inserted (the Welcome state).
 The terminal is in the out-of-service state and is not in Maintenance mode.
 The terminal is not in Continuous Availability mode.
 The Agilis 3 91x application is loaded on the hard disk but not currently executing at the
terminal. Upon initialization, Agilis 3 91x honors the software lock as a priority above
enabling other interfaces.

After the software lock takes effect, network communications go offline, the card reader is disabled,
and Maintenance mode is blocked. All users are blocked from the Agilis 3 91x application, and all
Maintenance operation requests (including Logon and Shutdown) are ignored.

Unlock Operation
The following command, typed at the command line, unlocks the terminal:
mutil -u

The unlock command returns the terminal to normal usage including network, consumer, and
Maintenance mode users. If the Agilis 3 91x application is currently up and running with proper
configuration, Agilis 3 91x brings high-side communications online and sends a Powerfail status
message to the network.

Additional Options
Additional options are available with ASL. The following command, typed at the command line,
provides additional information:
mutil -?

You might also like