Terminal Programming SP4 2015
Terminal Programming SP4 2015
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.
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.
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.
The following manuals provide additional information about Diebold terminal programming:
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.
The following is a list of features and devices that will be supported by the Agilis 3 91x SP4 release:
Section 2
Overview
This section provides an overview of the Agilis 3 91x system, including the following topics:
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.
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.
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.
The terminal enters the Power-up mode when one of the following events occur:
The terminal exits to the Off-line mode or Out-of-Service mode when it leaves the Power-up 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.
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.
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 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.
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.
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).
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.
(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 enhanced
supply counts)
[9] [9]
Operational Reject (A) Reject (A) Supply counts Supply counts (8)
Command < (8)
(Conditional go out-
of-service)
[7] [2] [2] [2]
Write Commands Ready (9) Ready (9) Ready (9) Ready (9)
(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.
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:
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.
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).
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).
For details on MAC operation, refer to the Agilis Message Authentication Code (MAC) Operating
Guide (TP-821203-001A or later).
EDC provides the following different operating modes, depending upon the needs of the user:
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:
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.
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.
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:
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.
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:
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.
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).
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.
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).
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.
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.
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.
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.
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.
Present
Restore
Retract
Dump
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.
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.
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:
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:
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.
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.
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.
The Opteva coin dispenser allows no more than 18 coins total to be dispensed for any one
transaction.
Agilis 3 91x supports the Opteva Envelope Depositor with Integrated Dispenser , an envelope
depository combined with an envelope dispenser.
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.
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.
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.
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).
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.
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)
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.
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):
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).
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.
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:
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.
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.
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.
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.
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.
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:
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.
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.
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).
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).
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.
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:
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).
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.
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.
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.
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
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).
Using graphics-related printing strategies, the journal printer can print graphics having a maximum
size of 432 pixels by 1600 pixels.
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
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
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.
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:
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.
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).
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.
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.
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)
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:
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.
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.
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:
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.
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).
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:
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.
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.
0: 10 cpi
1: 12 cpi
8: Bold
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)
Examples:
so n1 = 0x9b, n2 = 0xff
To move right from current pos by 1.3 inches:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The following Write Command messages are used to download configuration data (Table 5-1).
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.
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.
The following paragraphs describe the common fields in a Write Command message.
The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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
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
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
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
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.
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.
_ _ _ _ _ _ _ _
0 1 2 3 4 5 6 7
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.
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.
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.
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.
The following features in the Write Command 3 message (Section 5.15) affect transaction amount
entry and display:
Reserved screens 004, 005, and 006 (Section 5.9) specify the following features of the transaction
amount display:
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.
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.
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.
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.
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.
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.
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.
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.
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.
If the PIN data is included in the message, the PIN is in encrypted form, based on the applicable
FIT entry.
The Close state terminates the consumer's current terminal interface. This state performs the
following functions:
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.
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.
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.
Reserved
Entry Number: 6 through 9
Valid Range: 000
Description: Entries 6 through 9 are reserved and must be 000.
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.
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
This PIN Entry state is identical to PIN Entry (B) state described in Section 5.4.2.
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.
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.
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.
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.
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:
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.
EXAMPLE
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)
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.
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.
State Type
Entry Number: 1
Valid Range: # or >
Description: The state type identifies this state table as a Deposit Extension state table.
NOTE
Reserved
Entry Number: 9
Valid Range: 000
Description: This field is reserved.
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.
State Type
Entry Number: 1
Valid Range: ;
Description: The state type identifies this state table as a Voice state table.
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.
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.
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
Reserved
Entry Number: 6 through 9
Valid Range: 000
Description: Must be 000.
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.
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.
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.
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.
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 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
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).
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).
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.
State Type
Entry Number: 1
Valid Range: ?
Description: The State Type entry identifies this state table as a Delivery Area Sensors state table.
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.
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.
Refer to Table 5-26 for the Set Language Bank state table format.
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.
Reserved
Entry Number: 4 through 9
Valid Range: 000
Description: The terminal does not use these entries.
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.
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.
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.
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.
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.
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.
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 ID
Field Size: 4 to 9 characters
Valid Range: Valid CEN-specific device IDs are listed in Table 5-30.
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
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
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:
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.
The following paragraphs describe each entry in the Currency Acceptor state table.
NOTE
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.
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.
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 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
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.
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).
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.
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:
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:
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.
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).
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
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
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.
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).
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.
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.
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.
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 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:
Since only four denominations have been configured, only four reserved buffer pairs contain valid
data.
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.
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.
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:
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.
The following paragraphs describe each entry in the Currency Acceptor state table.
NOTE
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.
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.
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
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.
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).
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.
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.
Screen 3
Not Used
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.
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
If the value in this entry is 000, the amount is not stored in a buffer.
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.
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.
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).
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
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.
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.
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.
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 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
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
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.
The CR state will display screen 943 during the following card read operations:
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.
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.
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:
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.
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.
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.
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
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.
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.
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.
EXAMPLE
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 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.
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:
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:
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:
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:
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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
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.
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.
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
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
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:
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
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.
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.
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
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.
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.
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
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.
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.
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
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.
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
This entry is used only with operation 003 (accept passbook). This entry is not used with operations
000, 004, 005, and 006.
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
Reserved
Valid Range: ' V '
Description: This entry is reserved for compatibility with older systems. The only valid value is ' V '.
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).
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.
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
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
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).
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.
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.
PIN Data ID
Valid Range: 064
Description: The only valid value for this entry is 064.
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
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
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.
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.
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
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:
Reserved
Valid Range: 000
Description: The terminal does not use this field.
Reserved
Valid Range: 000
Description: The terminal does not use this field.
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).
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.
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.
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
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
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.
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:
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.
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.
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.
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.
Buffer ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies the buffer being set.
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.
EXAMPLE
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
Figure 5-5 shows the contents of buffer B before and after the terminal performs the example Set
Buffer state.
The format of the Buffer Copy state table is shown in Table 5-49. The Buffer Copy state copies a
buffer to another buffer.
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.
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
Entry Value
State Number 100
State Type @G b
Good Operation Next State 150
Source Buffer ID 065
Destination Buffer ID 066
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).
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:
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 ID
Valid Range: 065 through 090 (A through Z), and 256 through 355
Description: The Buffer ID entry identifies a 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.
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
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.
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:
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.
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
If this time expires before the network responds, the terminal goes to the exit state identified by the
Network Response Timeout Next State 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)
If the PIN data is included in the message, the PIN is in encrypted form, based on the applicable
FIT entry.
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
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
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.
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.
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.
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.
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.
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
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
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
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
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.
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.
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:
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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).
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.
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.
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.
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
The following illustration shows the contents of Buffer A before and after the terminal performs the
example Buffer Overlay 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-59.
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.
Next State
Valid Range: Valid state numbers (Section 5.3.1)
Description: The state which is executed immediately following completion of the Voice state.
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.
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
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.
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.
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.
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.
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.
EXAMPLE
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.
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.
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).
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.
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.
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.
Figure 5-8 also shows how the function keys on Opteva terminals align with the 40-by-20 display
grid.
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.
[1]
This cross-reference uses Diebold's implementation of EBCDIC. The characters noted differ from
the standard IBM EBCDIC characters.
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.
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.
The CR control character moves the cursor to column @ in the current row.
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.
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.
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 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-11 Example Screen 016 - Use of the FF and SI Control Sequences
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:
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
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.
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).
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 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.
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.
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.
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.
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 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:
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.
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).
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.
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).
0 - Normal video
1 - Blinking video
2 - Inverse video
3 - Blinking inverse video
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:
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:
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: €£
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).
0 - Normal video
1 - Blinking video
2 - Inverse video
3 - Blinking inverse video
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.
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:
EXAMPLE
In this example, the terminal clears the screen with the color yellow (252 252 084).
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
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.
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.
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.
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.
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.
%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.
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.
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.
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.
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)
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
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.
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 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.
(y * vres) / 10000
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:
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.
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
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.
The ESC ZA control sequence causes the screen processor to skip over the specified number of
characters that follow the escape sequence.
ESC ZA nnn
where,
EXAMPLE
ESCZA003AABBCC causes the screen processor to skip over AAB, and display only BCC.
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
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.
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.
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.
For more details on ESC ZD and the touch screen option, refer to Section 5.8.
The ESC ZI control sequence displays an IN touch button at the specified position. The format of
the control sequence is as follows:
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.
The ESC ZO control sequence displays an OUT touch button at the specified position. The format
of the control sequence is as follows:
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.
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.
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.
The Campaign Offices Dynamic Data screen command creates dynamic data files in the
C:\Diebold\CampaignOffice\dynamicData\ directory.
Example 1
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.
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 “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.
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).
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:
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).
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:
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.
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:
Figure 5-18 shows the regions of the screen defined by this touch template.
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.
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.
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)
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 ( , )
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 ( , )
NOTE
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 909
This screen is reserved for future use.
The default active keys for this screen are A (Yes) and B (No).
The default active keys for this screen are A (Yes) and B (No).
Screen 912
This screen is reserved for future use.
IF YOU DO NOT WANT TO CONTINUE PRESS THE CANCEL KEY WHEN YOU ARE TOLD TO
BEGIN YOUR DEPOSIT
Screen 923
This screen is reserved for future use.
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.
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.
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 ----- >
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.
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
[1]
nnn designates a three-digit number unique to each individual file.
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
NOTE
CGF, CGE and EMG display modes do not support this feature.
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:
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.
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.
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.
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.
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.
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).
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.
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).
<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>
<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:
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:
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>
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.
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:
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.
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:
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.
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.
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:
Table 5-75 shows some examples of voice prompting commands referencing individual voice
messages.
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:
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.
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
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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 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 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.
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.
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.
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.
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.
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:
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.
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 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).
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.
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.
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:
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:
Once a key map definition (ESC ZX) has been downloaded, in order to apply that key map, the
following two conditions must occur together:
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.
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.
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.
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.
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.
If you use rear card insertion to run TIAs, this restriction does not apply.
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.
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.
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.
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.
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.
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.
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
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:
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.
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.
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.
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.
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.
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>
Screen 009 contains the function definition data shown in Table 5-79.
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
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.
This section describes web browser functionality for the consumer display.
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:
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.
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.
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
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).
[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
[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.
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.
NOTE
The CurrentFIT property allows a web page to retrieve the current FIT number. The data type for
this property is defined as follows:
When the web page reads this property, TCSDataControl retrieves the current FIT number from
Agilis 3 91x.
EXAMPLE
Var currentFIT;
currentFIT = TCSDataObj.CurrentFIT;
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;
Var langBank = 2;
TCSDataObj.LanguageBank = langBank;
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:
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:
The Logger methods send trace messages to the Agilis Logger application. TCSDataControl
provides the following methods:
EXAMPLE
The following LoggerInfo call adds an entry to the Agilis Logger with Information-level severity,
using the default source ID (TCS.WEB):
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 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.
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()
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();
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();
TCSDataObj.BeeperEnable();
The PlayKeypress method directs Agilis 91x to play the beep sound associated with a keypress.
PlayKeypress()
The GetTCSBuffer method retrieves data stored in a buffer. GetTCSBuffer has the following
signature:
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):
The SetTCSBuffer method writes a string into a buffer. SetTCSBuffer has the following signature:
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):
The SetNextState method sets the next state for Agilis 3 91x to process. SetNextState has the
following signature:
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.
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.
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.
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.
NOTE
If the terminal uses a 912 International message format (set in the Agilis Configuration
Utility), the Dollar Buffer Size feature is automatically selected.
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
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
For more information about volume control, refer to the section Section 5.11.
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:
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.
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).
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
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)
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.
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:
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
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.
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
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).
NOTE
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.
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.
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.
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.
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.
Refer to the Data Security Procedures and Reference Manual (TP-799530-001E) for additional
details.
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.
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.
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.
The following paragraphs describe the fields specific to the Write Command 18 message.
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 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.
For information about reserved screens 004, 005, and 006, refer to Section 5.9.
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.
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:
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.
Table 5-86 lists the available default templates and their uses.
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.
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):
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.
The Write Command 19 message can be used to download configuration data for subsidiary
applications, such as the EMV application.
The format of the Write Command 19 message for state mode is shown in the following table.
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.
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 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.
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.
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.)
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:
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.
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 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
The following paragraphs describe the fields in the Consumer Request message:
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.
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.
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.
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.
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.
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)
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.
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.
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
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.
NOTE
The Bills Dispensed Count field is repeated for each dispense position supported by the
terminal.
NOTE
The Coin Denomination ID field is repeated for each dispense position supported by the
terminal.
NOTE
The Coins Dispensed Count field is repeated for each dispense position supported by the
terminal.
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.
The following paragraphs describe the fields for the Solicited Status message:
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.
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.
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.
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.
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.
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:
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-5 lists and describes some of the valid values for the fault location identified in the EFC.
Table 6-6 lists and describes some of the valid values for the specific errors identified in the EFC.
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.
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.
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.
There is one byte for After Hour Depository solicited status. Refer to Table 6-9 for detailed bit
definition of these bytes.
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.
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.
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.
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.
Table 6-13 lists and defines the Depository status information for an envelope depository.
NOTE
Table 6-14 lists and defines the Depository status information for an IDM.
NOTE
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
And so on.
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.
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.
Agilis 3 91x reports solicited status for the following enhanced status devices:
Currency acceptor
Envelope dispenser
Passbook printer
Statement printer
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.
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).
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.
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).
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.
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
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.
The following paragraphs describe the fields in the Unsolicited Status message.
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.
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.
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:
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-22 lists and describes the valid values for the specific errors identified in the EFC.
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).
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.
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:
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.
There is one byte for Alarm unsolicited status. Refer to Table 6-26 for detailed bit definition of this
byte.
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.
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.
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:
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
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.
EXAMPLE 2
EXAMPLE 3
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.
Table 6-28 shows how these elements determine which statuses are sent to the network.
An example of the messages sequence for the last case in Table 6-28 is shown in the following
table:
There are three bytes in Printer unsolicited status. Refer to Table 6-29 for detailed bit definition of
each of these three bytes.
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.
There is one byte for the Card Writer unsolicited status. Refer to Table 6-31 for detailed bit definition
of this byte.
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:
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.
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.
Table 6-32 lists and defines the IDM unsolicited status information.
NOTE
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
And so on.
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.
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).
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.
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.
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:
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.
The following paragraphs describe the fields in the Function Command 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.
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.
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.
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.
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.
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.
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.
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
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.
Agilis 3 91x uses the value in this field only when the Function Command message contains one of
the following function IDs:
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.
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.
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.
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.
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.
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 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.
The terminal processes the After Hour Depository Deposit and Print function (function ID 6) as
follows.
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.
The Dispense Currency function (function ID B) directs the terminal to dispense bills, coins, or both.
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.
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.
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:
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:
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 After Hour Depository Deposit function (function ID G) as follows.
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:
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.
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:
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.
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 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 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:
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.
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.
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 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.
Agilis 3 91x supports the following function commands for passbook printer operation:
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:
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).
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
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.
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.
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
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'
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
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.
The following paragraphs describe the fields in the enhanced Function Command message.
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.
The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).
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).
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.
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.
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).
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.
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.
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.
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.
The following paragraphs describe the entries for the After Hour Dispenser function data.
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.
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.
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:
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).
The following paragraphs describe the entries for the Currency Acceptor function data.
NOTE
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.
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).
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 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
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:
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:
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.
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).
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
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
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.
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).
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.
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.
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.
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.
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 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:
Since only four denominations have been configured, only four reserved buffer pairs contain valid
data.
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:
For more information on these buffers, refer to the detailed buffer descriptions that follow Table 6-
38.
The following paragraphs describe the entries for the Currency Acceptor function data.
NOTE
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.
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.
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
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.
Screen 3
Not Used
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.
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.
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
If the value in this entry is 000, the amount is not stored in a buffer.
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.
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.
The following paragraphs describe the fields for the Card Reader Function Data.
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.
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.
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
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.
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.
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.
The following paragraphs describe the fields for the Depositor Function Data for single-item
deposits.
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:
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.
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.
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.
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
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.
Reserved
Valid Range: 000
Description: This field is reserved.
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).
The following paragraphs describe the fields for the Depositor Function Data for bulk document
deposits.
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:
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:
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:
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
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.
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.
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.
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.
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.
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.
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.
The following paragraphs describe each field in the Multiple Functions Function Data.
Data
Valid Range: 001
Description: The Data entry must contain 001.
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.
The following paragraphs describe each field in the Printer Function Data for the receipt printer.
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
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.
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 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.
The following paragraphs describe each field in the Printer Function Data for the journal printer.
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.
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.
The following paragraphs describe each field in the Printer Function Data for the electronic journal.
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
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.
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.
The following paragraphs describe the fields for the Passbook Printer Function Data.
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.
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
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.
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.
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:
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.
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.
If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.
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.
If the passbook printer has automatic page turning capability, the terminal ignores the value in this
entry, although the entry must be present.
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.
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.
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.
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.
The following paragraphs describe each field in the Do Nothing Function 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 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
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.
Table 6-50 shows the Write Command 5 message format when used with a 91x style screen.
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.
The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).
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).
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:
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.
Table 7-1 shows the basic format of the Operational Command message.
The following paragraphs describe the fields in the basic Operational Command message.
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
The LUNO is defined by the network, using the Write Command 3 message (Section 5.15).
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.
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.
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.
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.
The following paragraphs describe the fields of the terminal reboot Operational Command message
that are different from the basic Operational Command message.
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…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.
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]
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.
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.
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.
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.
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.
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.
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:
The terminal sends the configuration information in one Solicited Status message, with the value 8
in the Status Descriptor field.
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.
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:
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:
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:
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.
The following paragraphs describe the fields in the Currency Acceptor Hardware Configuration
message.
Hardware Vendor
Field Size: Variable
Valid Range: Variable
Description: This field contains the vendor name of the currency acceptor device.
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.
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.
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:
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.
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).
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.
For a BNA, the Vendor Dependent Device Information field contains the following information:
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.
The following table describes the hardware configuration data for the card reader.
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.
NOTE
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.
The following paragraphs describe the fields in the Bill Dispenser Hardware Configuration status
data.
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
NOTE
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).
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:
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.
The following table describes the Hardware Configuration data for the Secondary Bill Dispenser.
For more information about the parameters in the Secondary Bill Dispenser Hardware Configuration
data, refer to Section 7.4.2.3.
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).
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).
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.)
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).
The following paragraphs describe the fields in the Encrypting PIN Pad Hardware Configuration
status data.
NOTE
The following two fields are present only if the terminal supports the Remote Key Transport
feature.
“PCI (EPP5)"
“Basic (EPP5)"
“TD (EPP5)"
“VISA (EPP4)"
“UNIVERSAL (EPP4)"
“TD (EPP4)"
“UNKNOWN"
“Basic (EPP7)"
“PCI Plus (EPP7)"
“TD (EPP7)"
Agilis 3 91x sends the following Media Player configuration information as part of the additional
Hardware Configuration status data (Table 7-18).
The following paragraphs describe the fields in the Media Player Hardware Configuration status
data.
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.
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).
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
If the model number is not known, this field contains a question mark ( ? ).
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
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.
For a passbook printer, Agilis 3 91x sends the following configuration information as part of the
additional Hardware Configuration status data (Table 7-23).
The following paragraphs describe the fields in the Passbook Printer Hardware Configuration status
data.
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.
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.
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.
If the model number is not known, this field contains a question mark ( ? ).
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.
Refer to Table 7-26 for the detailed bit definitions of the Cassette status.
The following operational commands direct the terminal to send supply counts to the network:
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.
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.
The enhanced Operational Command message is used to perform the following operations:
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.
The following paragraphs describe the fields of the enhanced Operational Command message that
are different from the basic 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.
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.
EXAMPLE
Table 7-31 shows an example of Agilis 3 91x version data for an Opteva terminal.
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.
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
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:
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.
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.)
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.)
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)
100E101106106110255255255001
(The Function Key A Next State entry is shown in bold italics and represents 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:
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.
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.
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 state presets the Function Key buffer to request a "DEPOSIT" operation.
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.
After the consumer has inserted cash, this state prompts him for an OK response to
continue to the next step.
This state presets the Function Key buffer to request a VERIFY operation.
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).
2. Transaction Request State #1: This state sends the consumer information and the
operation request (in the Function Key buffer) to the network.
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.
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.
7. Transaction Request State #2: This state sends the consumer information and the
operation request (in the Function Key buffer) to the network.
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.
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.
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.
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.
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.
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.
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.
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.
5. Transaction Request State: This state sends the consumer information and the operation
request (in the Function Key buffer) to the network.
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.
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.
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.
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.
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).
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.
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.
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.
NOTE
These defined default layouts allow you to rename these form files or change their location. They
are located in the following path:
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).
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.
This section contains general operation guidelines for operating Diebold terminals.
The host should not allow withdrawals when the chest door (safe door) is open.
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.
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.
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.
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.
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
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.
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
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 -?