You are on page 1of 96

GBxx programming training

Augsburg (24th and 25th October 2006)

Thomas Knötzinger
FSD PS SS Central Europe
Agenda

1. Introduction / expectation setting


2. Architecture
3. Note categorization / handling according to ECB6
4. GBRU/GBNA hardware
5. Demonstration using the NCR demotool
6. Live hardware demonstration
7. Getting a running system
(Configuration, registry settings, templates, how to setup
the cassettes, etc.)
8. Directory structure, logfiles and which files are required in
case of problems, error reporting
9. Wosatool for testing purposes
10. ECB6 signatures / serial numbers
NCR Confidential
Agenda

11. Programming an application


12. Error recovery
13. Reconciliation
14. Supervisor

NCR Confidential
Architecture

NCR Confidential
Note categorization
Category Description GBNA GBRU
1 Not recognized as a banknote because of wrong Return to customer Return to customer
image or format; transport error; large dog eared or
missing sections; hand-written notes, separating
cards, etc; wrong currency.
2 Elements identified as counterfeit: Image and Capture. Capture.
format recognized, but one or more authentication No return. No credit. No return. No credit.
features (IR, UV, magnetism, security thread etc.)
Must be able to trace Must be able to trace
missing or clearly out of tolerance. Not to be cardholder cardholder
recycled.
3 Elements not clearly authenticated. Suspect Capture. Capture.
banknotes. Image format and authentication Option not to return on Option not to return on
features (IR, UV, magnetism, security thread etc.) cancel. May credit cancel. May credit
recognized, but tolerance and /or quality deviations. Must be able to trace Must be able to trace
In most cases unfit or soiled banknotes. Not to be cardholder (in case of cardholder (in case of
recycled. counterfeit) counterfeit)
4a All authentication checks delivered positive results. Accept for processing. Accept / credit.
May be used for recycling. Return on cancel. Return on cancel.
Store to Deposit Store to Deposit Cassette
Cassette. May be recycled
4b All authentication checks delivered positive results, Accept for processing. Accept for processing.
however, note has tears, holes, stains etc that Return on cancel. Return on cancel.
make it unfit to be recycled. Not to be recycled.
Store to Deposit Store to Deposit Cassette
Cassette. Can not be recycled

NCR Confidential
GBRU/GBNA hardware
Rear Access / Front Access

NCR Confidential
GBRU/GBNA hardware
Module overview

NCR Confidential
GBRU/GBNA hardware
Cassettes

NCR Confidential
GBRU/GBNA hardware
Cassettes

4 3 2 1 Position

Cash Acceptor only (GBNA)

Cash Dispenser only (GBRU)


Cash Recycler (GBRU)

Cash Recycler (GBRU)

Cash Recycler (GBRU)

NCR Confidential
GBRU/GBNA hardware
Removable Retract Box

NCR Confidential
GBRU/GBNA hardware
Fixed Retract Box

NCR Confidential
GBRU/GBNA hardware (ECB6)
Cat 1 Special bin for Cat. 1 notes before returning
Cat 2
Cat 3 Removable Retract Box Escrow
Cat 4 Cat. 3 and 4 notes

Counterfeit Bin
Reject Bin
(bank money) Pre-Acceptor
Capture Bin
(customer money)

Bill validator

C R R R

GBNA:
- 4 Deposit cassettes
- Sorting by denomination
possible
=> At least one Common
cassette

CashIn Recycling cassettes


cassette Cat. 4a (fit)
Cat.3 and 4
(Common cassette)

NCR Confidential
GBRU/GBNA hardware (non ECB6)
Cat 1 Special bin for Cat. 1 notes before returning
Cat 2
Cat 4 Removable Retract Box Escrow
Cat. 4 notes

Counterfeit Bin
Reject Bin
(bank money) Pre-Acceptor
Capture Bin
(customer money)

Bill validator

C R R R

GBNA:
- 4 Deposit cassettes
- Sorting by denomination
possible
=> At least one Common
cassette

CashIn Recycling cassettes


cassette Cat. 4a (fit)
Cat. 4
(Common cassette)

NCR Confidential
GBRU/GBNA Demo

NCR Confidential
GBRU/GBNA Demo

Live hardware demonstration

NCR Confidential
Getting a running system
Overview

1. Installation of APTRA XFS 04.xx.xx


Following components must be included in the Aggregate:
=> PcGBRU (Firmware)
=> XFS GBRU-GBNA Service Provider
=> Currency Templates (e.g. PcGbruEU for Euro)

2. Configuration of Registry
=> Settings allow special configuration for GBRU and GBNA,
and some deviations from CEN XFS standards to use the machine
in a better way
=> Most settings are already set by default values
=> Configuration should be included in the installation

3. Configuration of cassettes

NCR Confidential
APTRA Online Documentation

• Contains all informations about configuration of the


Registry and programming with the XFS API
• Shows how Service Providers treats CEN XFS
• Path:
APTRA Documentation
 Self-Service Support
Programmer‘s Reference
XFS Service Providers
XFS GBRU-GBNA Service Provider

NCR Confidential
Getting a running system
Recommended Registry settings for GBRU and GBNA

Following settings should be set deviated of the default settings:

[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\XFS GBRU-GBNA Service


Provider\XFS-DeviceControl\GBRU-GBNA\Operations]

• GBRUMode
 GBRUMode=0: GBRU
 GBRUMode=1: GBRU as dispenser only
 GBRUMode=2: GBNA
 GBRUMode=3: separate GBRU (non-recycling, dispense only)
and GBNA

• ValidationMode
 ValidationMode=0 Original currency template
 ValidationMode=1 Test template
 Should be set at template installation

• SuspendTimeout
Proposed value: 40 seconds

NCR Confidential
Getting a running system
Recommended Registry settings for GBRU and GBNA
Following settings should be set deviated of the default settings:

[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\XFS GBRU-GBNA Service


Provider\XFS-DeviceControl\GBRU-GBNA\Note Categorisation]

• CatMode
 CatMode=0: Category 1 and 4 recognized (non ECB6)
 CatMode=1: Category 1, 2, 3, 4 recognized (ECB6)
 CatMode=2: Category 1, 2, 4 recognized (non ECB6)
 CatMode=3: Category 1, 2, 3, 4 recognized (ECB6)
Cat. 3 and 4 are stored in same cassette

Only for ECB 6 (Cat. 3 handling):


• Cat3RollBack
 Cat3RollBack=0: Notes go directly to cassette/bin at CashIn
 Cat3RollBack=1: Notes go to Escrow first at CashIn

• Cat3StoragePolicy
 Cat3StoragePolicy=0: Separate Cat. 3 to common cash unit
 Cat3StoragePolicy=1: Separate Cat. 3 to own cassette/bin

• SuspectCassetteID
 Cassette/bin for Cat. 3 notes (cUnitID)
NCR Confidential
Getting a running system
Recommended Registry settings for GBRU and GBNA

[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\XFS GBRU-GBNA Service


Provider\XFS-DeviceControl\GBRU-GBNA\Interoperability]

• AlwaysAllowCapabilities
Proposed value: 1 Command WFS_INF_CIM_CAPABILITIES
is successful, if no GBNA is present

• ExpandCIMRetractNoteList
Proposed value: 1 lppNoteNumberList is provided at
WFS_CIM_TYPETRETACTCASSETTE

• ReportCat4Signatures
 ReportCat4Signatures=0: Cat. 4 signatures are not provided
 ReportCat4Signatures=1: Cat. 4 signatures are available
Cat. 4 signature contains only serial number of banknote!

NCR Confidential
Getting a running system
Recommended Registry settings for GBRU and GBNA

[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\APTRA Self-Service Support (NCR


Features)\GBRU\Operational Parameters]

• ClearTransportOnStartUp
Proposed value: 0 Remained media will not be moved to
Reject area at startup

• DisableAutoResetErrorRecovery
Proposed value: 1 Disable automatic Reset Error Recovery

• DisableMultipleCashInErrorRecovery
Proposed value: 1 Disable automatic Reset Error Recovery

• FraudHandling
Proposed value: 0

• SelfTestTCUBehaviour
Proposed value: 1

• BVFirmwareFiles
 Directory where the currency template is installed
 Should be set at template installation
NCR Confidential
Getting a running system
Recommended Registry settings for GBRU and GBNA

[HKEY_CLASSES_ROOT\WOSA/XFS_ROOT\SERVICE_PROVIDERS]

• MultipleResetSOH
Proposed value: ““ Allow multiple CIM_RESET commands

[HKEY_LOCAL_MACHINE\SOFTWARE\XFS\SERVICE_PROVIDERS]

• MultipleResetSOH
Proposed value: ““ Allow multiple CIM_RESET commands

NCR Confidential
Getting a running system
Recommended Registry settings for GBRU (Dispense)

Following settings should be set deviated of the default settings:

[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\XFS GBRU-GBNA Service


Provider\XFS-DeviceControl\GBRU-GBNA\Operations]

• DispenseOnlyCassettes
 List of recycling cassettes to be used for dispensing only

• MaxDispenseItems
 Number of notes to be dispensed during one stacking operation

NCR Confidential
Getting a running system
Recommended Registry settings for GBRU (Dispense)

Following settings should be set deviated of the default settings:

[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\XFS GBRU-GBNA Service


Provider\XFS-DeviceControl\GBRU-GBNA\Note Categorisation]

• UnfitNoteDestDisp
 UnfitNoteDestDisp=0: Send unfit/damaged notes to Escrow
for dispensing
 UnfitNoteDestDisp=1: Send unfit/damaged notes to Reject Bin

Only for ECB 6 (Cat. 3 handling during dispensing):


• SuspectNoteDestDisp
 SuspectNoteDestDisp=0: Send Cat. 3 notes to suspect cassette
 SuspectNoteDestDisp=1: Send Cat. 3 notes to Reject Bin
 SuspectNoteDestDisp=2: Send Cat. 3 notes to Escrow for
dispensing

NCR Confidential
Getting a running system
Recommended Registry settings for GBRU (Dispense)
[HKEY_LOCAL_MACHINE\SOFTWARE\NCR\XFS GBRU-GBNA Service
Provider\XFS-DeviceControl\GBRU-GBNA\Interoperability]

• ReportCDMCat23
 ReportCDMCat23=0: No WFS_EXEE_CDM_INPUT_P6 is posted,
if Cat. 2 or 3 notes have been recognized
 ReportCDMCat23=1: WFS_EXEE_CDM_INPUT_P6 is posted during
CDM_DISPENSE and CDM_RETARCT,
if Cat. 2 or 3 notes have been recognized

• RejectNoBills
Proposed value: 1 WFS_ERR_CDM_NOITEMS is returned from
CDM_RETRACT or CDM_REJECT when
no items are present

• SuppressManipStatus
Proposed value: 0 Report MANIP state to trace, if cassette/bin
have been removed and inserted again

• NonECBUnfitDest (Non-ECB mode, CatMode <> 1)


 NonECBUnfitDest=0: Unfit notes go to Reject Bin
 NonECBUnfitDest=1: Unfit notes go to Common cassette
 NonECBUnfitDest=2: Deposit only

NCR Confidential
Getting a running system
Configuration of cassettes (GBRU)

• Up to 3 Recycling cassettes (light grey)


• Recycling cassettes can be configured for specific denominations
(Cassettes with same denominations possible)
• At least one deposit cassette (blue) used as Common cassette
• At least one Common cassette
=> Cassette where all notes are stored which can‘t go to other cassettes
• Cassette positions are 1 – 4
=> Cassette 1 is always under the Retract Box
=> Must be Common cassette
• Setting of magnetic codes
=> Codes must be different
=> Common cassette must have code 1
• Removable Retract Box (3 bins), Fixed Retract Box not possible

NCR Confidential
Getting a running system
Configuration of cassettes (GBNA)
• 4 Deposit cassettes (blue)
• Cassettes can be configured for specific denominations
(Cassettes with same denominations possible)
• At least one Common cassette
=> Cassette where all notes are stored which can‘t go to other cassettes
=> Example:

• Cassette positions are 1 – 4


=> Cassette 1 is always under the Retract Box
=> Should be Common cassette
• Setting of magnetic codes
=> Codes should be different
=> Common cassette on position 1 must have code 1
• Removable Retract Box (3 bins) recommended to separate customer
and bank money

NCR Confidential
Getting a running system
Configuration of cassettes with XFS

• Configuration necessary for CDM and CIM Service Provider

• GBNA: Only CIM Service Provider

• GBRU:
• Configure cassettes within CDM and CIM SP
• Start with CDM SP followed by the CIM SP

NCR Confidential
Getting a running system
Configuration of cassettes with XFS (CDM SP)

1. Check which physical cassettes are installed using


WFS_INF_CDM_CASH_UNIT_INFO
2. Put GBRU/GBNA into the exchange state using
WFS_CMD_CDM_START_EXCHANGE
3. Modify the cassette structures returned from
WFS_CMD_CDM_START_EXCHANGE to configure the cassettes
4. Pass this structure with WFS_CMD_CDM_END EXCHANGE

 After a cassette was taken and inserted again, this cassette is on


‘manipulated state’
 Cassette is out of service
 ‘Manipulated state’ can be cleared with a START/END_EXCHANGE
 ‘Manipulated state’ can be suppressed with Registry setting
SuppressManipStatus

NCR Confidential
Getting a running system
Configuration of cassettes with XFS (CIM SP)

1. Check which physical cassettes are installed using


WFS_INF_CIM_CASH_UNIT_INFO
2. Obtain a list of accepted notes using WFS_INF_CIM_BANKNOTE_TYPES
3. Put GBRU/GBNA into the exchange state using
WFS_CMD_CIM_START_EXCHANGE
4. Modify the cassette structures returned from
WFS_CMD_CIM_START_EXCHANGE to configure the cassettes
5. Pass this structure with WFS_CMD_CIM_END EXCHANGE
6. Configure a note list for any individual cassettes using
WFS_CMD_CIM_CONFIGURE_CASH_IN_UNITS
 only for deposit cassettes to configure specific denominations
 Recycling cassettes are configured by CDM SP

 ‘Manipulated state’: same behaviour as at CDM SP

NCR Confidential
Getting a running system
Configuration of cassettes within XFS

Cassette/Bin cUnitID
Recycling RCxx
Non-Recycling BCxx
(used only for dispensing)

Cash In CIxx
(used only for deposit)

Counterfeit Bin RT2


(Removable Retract Box)

Counterfeit Bin RT1


(Fixed Retract Box)

Reject Bin RJ1


(Removable + Fixed Retract Box)

Capture Bin RT1


(only at removable Retract Box)

NCR Confidential
Getting a running system
Configuration of cassettes with XFS (CDM SP)

typedef struct _wfs_cdm_cashunit


{
USHORT usNumber;
USHORT usType; Type of cassette (Recycling, Retract, etc.)
LPSTR lpszCashUnitName;
CHAR cUnitID[5]; Cassette type
CHAR cCurrencyID[3];
ULONG ulValues; Specific denomination for the cassette
ULONG ulInitialCount;
ULONG ulCount; Must be equal to ulCount of WFSCIMCASHIN
ULONG ulRejectCount;
ULONG ulMinimum; Cassette reports almost empty, if this value is reached
ULONG ulMaximum; Cassette reports almost full, if this value is reached
BOOL bAppLock;
USHORT usStatus;
USHORT usNumPhysicalCUs;
LPWFSCDMPHCU * lppPhysical;
} WFSCDMCASHUNIT, *LPWFSCDMCASHUNIT;

NCR Confidential
Getting a running system
Configuration of cassettes with XFS (CIM SP)

typedef struct _wfs_cim_cash_in


{
USHORT usNumber;
DWORD fwType; Type of cassette (Recycling, Cashin, Retract, etc.)
DWORD fwItemType; Type of notes to be stored in cassette (e.g. all, individual)
CHAR cUnitID[5]; Cassette type
CHAR cCurrencyID[3];
ULONG ulValues; Specific denomination for the cassette
ULONG ulCashInCount;
ULONG ulCount;
ULONG ulMaximum; Cassette reports almost full, if this value is reached
USHORT usStatus;
BOOL bAppLock;
LPWFSCIMNOTENUMBERLIST lpNoteNumberList; Must be equal to ulCount/ulCashinCount
USHORT usNumPhysicalCUs;
LPWFSCIMPHCU * lppPhysical;
LPSTR lpszExtra;
} WFSCIMCASHIN, *LPWFSCIMCASHIN;

NCR Confidential
Getting a running system
Configuration of cassettes with XFS (CIM SP)

typedef struct _wfs_cim_note_type


{
USHORT usNoteID; Identifier (e.g. 5 Euro note has 259)
CHAR cCurrencyID[3];
ULONG ulValues; Denomination
USHORT usRelease;
BOOL bConfigured;
} WFSCIMNOTETYPE, *LPWFSCIMNOTETYPE;

NCR Confidential
Directory Structure
C:\Program Files\NCR APTRA\PcGbru
 Configuration (*.bin files, GBRU_DP2_initial.ini)
 BVInfo.dat

C:\Program Files\NCR APTRA\PcGbru\Firmware


 GBRU/GBNA Firmware and Currency Template
 GBRU*.* (GBRU/GBNA firmware)
 GBV*.* (Currency Template files)
 Currency Templates could stay in an own directoy
(depends on installation)

C:\Program Files\NCR APTRA\PcGbru\log


 GBRU/GBNA Firmware log files

C:\Program Files\NCR APTRA\XFS Manager


 XFS Trace
NCR Confidential
Error Reporting

Important files for FGSC to analyze GBRU/GBNA problems:


• XFS Trace
• GBRU/GBNA Firmware logs
• BVInfo.dat (=> no access to GBRU/GBNA during creating it)
• Registry settings
• Windows XP Eventlog
• Device log
• Tallies

 Batch script, that runs every day and saves the logs
(because XFS Trace will be overwritten every day)

NCR Confidential
WosaTool
Overview

 Tool for testing all Service Providers of CEN XFS interface

 Made by NCR

 All commands, events, etc. can be tested

 Start: Open session first then proceed with commands

 Events will be displayed automatically

NCR Confidential
WosaTool
Open Bill Acceptor

NCR Confidential
WosaTool
Bill Acceptor

NCR Confidential
WosaTool
Open Bill Dispenser

NCR Confidential
WosaTool
Bill Dispenser

NCR Confidential
ECB6 Signatures / Serial numbers

• ECB6: Notes of which we know or assume that they could be


counterfeit must be retained
• Tracing of cardholder, who deposited Cat. 2 and 3 notes must be
possible
• Signature is a unique identifier for a note and taken for each Cat. 2
and 3 note
• Signatures are stored together with transaction and customer data in
the Electronic Journal (database in XML format)
• Signatures contain serial number of banknote
• Serial number is always recognized, if Bill Validator has a double sided
OCR camera (Euro has serial number only on one side)
• Signatures are returned at WFS_INF_CIM_GET_P6_SIGNATURE
• Tracing of notes can be done with Trace Tool on PC or integrated in
Supervisor (with Dll)

NCR Confidential
ECB6 Signatures / Serial numbers

Tracing of a note:
1. Export Signatures from Electronic Journal (Supervisor)
2. Insert counterfeit note in all 4 directions and take signatures
(Supervisor)
3. Compare Signatures (Supervisor or PC)
 Result is a list of matching probabilities

Signatures Trace Tool

NCR Confidential
ECB6 Signatures / Serial numbers
Format

Returned signatures at WFS_INF_CIM_GET_P6_SIGNATURE:

typedef struct _wfs_cim_P6_signature


{
USHORT usNoteId;
ULONG ulLength;
DWORD dwOrientation;
LPVOID lpSignature;
} WFSCIMP6SIGNATURE, *LPWFSCIMP6SIGNATURE;

NCR Confidential
ECB6 Signatures / Serial numbers
Format
Format of lpSignature (as described in APTRA online documentation):

Field Type Description

Major Format Version USHORT 1

Minor Format Version USHORT 0

Vendor Char[16] Name of vendor, right padded with spaces


'NCR Corp    '
Series Char[16] Name of device, right padded with spaces.
'GBRU-GBNA       '
Orientation USHORT 1 – Front Top
2 – Front Bottom
3 – Back Top
4 – Back Bottom
5 – Unknown
Number of data fields ULONG 1

Field ID char [4] 'SNUM' – serial number (Cat. 4), or


'SIGN' – signature (Cat. 2 and 3)
Data Length DWORD Length of following signature or serial number data

Data
NCR Confidential
BYTE * Array containing serial number or signature
ECB6 Signatures / Serial numbers
Format

Format of lpSignature:
• Real Offset of signature itself (field ‘Data’) is 44
 APTRA documentation shows only 42 Bytes
• Offset of serial number is 1004
• Serial number contains a matrix of 15 x 5 Bytes
 15 digits/letters
 For each digit/letter 5 recognitions possible
 Take always first recognition

NCR Confidential
Programming an application
Deposit transaction flow

NCR Confidential
Programming an application
Deposit commands

1. WFS_CMD_CIM_CASH_IN_START
 GBRU/GBNA is moving in accepting state
 WFS_EXECUTE_COMPLETE is returned
 No Events raised

typedef struct _wfs_cim_cash_in_start


{
USHORT usTellerID;
BOOL bUseRecycleUnits; FALSE for GBNA
WORD fwOutputPosition; WFS_CIMPOSNULL or WFS_CIM_POSOUTFRONT
WORD fwInputPosition; WFS_CIM_POSNULL or WFS_CIM_POSINFRONT
} WFSCIMCASHINSTART, * LPWFSCIMCASHINSTART;

NCR Confidential
Programming an application
Deposit commands

2. WFS_CMD_CIM_CASH_IN
 Shutter is opened, notes are accepted and running through BV,
Cat. 1 notes are returned to customer after counting
 Notes go to Escrow (depends on CatMode and Cat3Rollback)
 ITEMSINSERTED Event, if customer has inserted notes
 INPUTREFUSE Event, if notes are rejected
 NOTEERROR Event, that indicates the reason why notes are
rejected (e.g. double note, skewed note detected)
 Capacity of Escrow is 200 notes. If this would be exceeded
STACKERFULL event is sent and rest of notes are rejected.
 WFS_EXECUTE_COMPLETE is returned at successful CASH_IN

NCR Confidential
Programming an application
Notes position after CASH_IN

CatMode Cat. 1 Cat. 2 Cat. 3 Cat. 4


(4a + 4b)

0 Returned to Returned to Returned to Escrow


customer customer customer

1 Returned to Counterfeit CashIn Escrow


(Cat3Rollback = 0) customer Bin Cassette

1 Returned to Counterfeit Escrow Escrow


(Cat3Rollback = 1) customer Bin

2 Returned to Counterfeit Returned to Escrow


customer Bin customer

3 Returned to Counterfeit Escrow Escrow


customer Bin

NCR Confidential
Programming an application
Counters at CASH_IN

Returned counters at CASH_IN:


typedef struct _wfs_cim_note_number
{
USHORT usNoteID;
ULONG ulCount;
} WFSCIMNOTENUMBER, *LPWFSCIMNOTENUMBER;

ECB6: WFS_EXEE_CIM_INPUT_P6 is sent, if Cat. 2 or 3


notes
are recognized
typedef struct _wfs_cim_P6_Info
{
USHORT usLevel;
LPWFSCIMNOTENUMBERLIST lpNoteNumberList;
USHORT usNumOfSignatures;
} WFSCIMP6INFO, *LPWFSCIMP6INFO;

NCR Confidential
Programming an application
Deposit commands

3. WFS_CMD_CIM_CASH_IN_END
 Completes the transaction
 Notes are moved to cassettes
 Notes pass the BV before going to cassettes (second BV pass)
Categories of notes can be changed!
 Cat. 1 notes are sent to Reject Bin
 Cat. 2 notes are sent to Counterfeit Bin or to Reject Bin,
if recognized as Cat. 1 (CatMode=0)

NCR Confidential
Programming an application
Deposit commands

4. WFS_CMD_CIM_CASH_IN_ROLLBACK
 Completes the transaction
 Notes are returned from Escrow back to customer

NCR Confidential
Programming an application
Deposit commands

5. WFS_CMD_CIM_RETRACT
 Completes the transaction
 Notes are retracted from Output position and Escrow
 Possible destination of notes:
• Capture Bin
• Cassettes
• Counterfeit Bin (only Cat. 2 notes)

NCR Confidential
Programming an application
Deposit commands

6. WFS_CMD_CIM_RESET
 Can be only done outside a transaction, e.g. after completion of
transaction with CASH_IN_END, ROLLBACK or RETRACT
 Notes are moved from transport and Escrow of the GBRU/GBNA
to the determined destination
 Possible destination of notes:
• Capture Bin
• Cassettes
• Counterfeit Bin (only Cat. 2 notes)

NCR Confidential
Programming an application
Dispense transaction flow

DISPENSE

PRESENT

Ask customer
to take notes

Notes taken?

No

RETRACT

NCR Confidential
Programming an application
Dispense commands

WFS_CMD_CDM_DISPENSE
 Notes are stacked in Escrow and moved to Pre-Acceptor

WFS_CMD_CDM_PRESENT
 Shutter opens, notes are presented to customer

WFS_CMD_CDM_RETRACT
 Retract notes to Capture Bin, if they haven‘t been taken

WFS_CMD_CDM_RESET
 Reset in case of error
 Destinations of found notes: Reject or Capture Bin
NCR Confidential
Programming an application
Best practise

• Several CASH_IN sequences (max. 24) without a CASH_IN_END


could confuse the customer.
Example: Customer inserts 180 notes at frist bunch
Customer inserts 150 notes at second bunch
=> 130 notes will be returned due to full Escrow

• Before starting a CIM_RESET, end transaction with a


CASH_IN_END, ROLLBACK or RETRACT

• At problems with START/END_EXCHANGE, delete *.bin files in


C:\Program Files\NCR APTRA\PcGbru and reset ATM

• At communication problems with Service Provider:


Close and open XFS session

NCR Confidential
Programming an application
Best practise Deposit (CasinoS Cash)

• CASH_IN_END after each CASH_IN

• Cat. 3 notes are always credited

• End transaction, if Cat. 2 notes are detected

• End transaction, if limit of money laundering act is exceeded

• Reset of GBxx is under application control


(configured in Registry)
=> Problem: Automatic GBRU reset and GBRU reset in System
Application transports all notes to Reject Bin

NCR Confidential
Programming an application
Best practise Dispense (CasinoS Cash)

• Take GBRU privileged at PersonaS 76 (Dispenser and GBRU)


Depends on:
 used mixture algorithm
 number of notes (don‘t dispense too many notes from GBRU, if
Dispenser can do it with less notes)
 number of available denominations in GBRU
 Recycling cassettes should contain a minimum number of notes
(due to double picks)
 Parameters can be configured in Supervisor

• Dispense either from Dispenser or from GBRU


 Customer could leave notes on one side, if both devices will dispense
within one transaction
 Maximum number of dispensable notes equal at Dispenser
and GBRU

NCR Confidential
Programming an application
Ownership of notes

Customer money:
 Deposit: Notes belong to the customer until he confirms to credit
the accepted bunch (=> notes are still in Escrow)
 Dispense (GBRU): Notes belong to customer, if he has access to
them (Shutter is open)

Bank money:
 Deposit: Notes belong to the Bank after the customer confirmed to
credit the notes
 Dispense (GBRU): Notes belong as long to the Bank as the Shutter
hasn‘t been opened

NCR Confidential
Programming an application
Handling of Retract Box

Use always removable Retract Box:

Bank money (Reject Bin)

Customer money (Capture Bin)

Don‘t use fixed Retract Box with two Bins!


 No separation of customer and bank money possible!
 If only fixed Retract Box available, save customer information for each note
and display/print them in Supervisor. This is possible as the notes are
stacked in the Reject Bin.
NCR Confidential
Error Recovery
Deposit transaction

Send notes with CIM_RESET to this cassette(s)/bin they logically


belong to.

Customer money:
 Failed CASH_IN and ROLLBACK: Send notes back to customer
Problem: CIM_RESET could take a few minutes and customer
could leave to contact the bank staff
Better: Send notes to Capture Bin
 Failed RETRACT: Send notes to Capture Bin

Bank money:
 Failed CASH_IN_END: Send notes to cassettes

NCR Confidential
Error Recovery
Dispense transaction

Send notes with CDM_RESET to this bin they logically belong to.

Customer money:
 Failed PRESENT: Send notes to customer
Problem: CDM_RESET could take a few minutes and customer
could leave to contact the bank staff
Better: Send notes to Capture Bin
 Failed RETRACT: Send notes to Capture Bin

Bank money:
 Failed DISPENSE: Send notes to Reject Bin

NCR Confidential
Reconciliation

Internal reconciliation within the application and APTRA


 Which counters need to be stored by the application
 Problems
 How to build counters
 Second BV pass (CashInEnd)

Reconciliation processes of the Banks and CITs


 Reconciliation at cassette replenishment
 Quick reconciliation between a booking period
 Clearing of jams and other hard- and software errors
 Possible tasks of Banks and CIT

NCR Confidential
Internal reconciliation
Which counters need to be stored by the application?
(CasinoS Cash)
Cashin cassette(s):
• Number of Cat. 3 and 4 notes for each denomination

Recycling cassettes:
• Denomination and number of notes

Counterfeit Bin (1st bin of the Retract Box):


• Number of Cat. 2 notes for each denomination

Reject Bin (2nd bin of the Retract Box => ‘Bank money‘):
• Number of Cat. 1 notes
• Number of Cat. 3 and 4 notes for each denomination

Capture Bin (3rd bin of the Retract Box => ‘Customer money‘):
• Number of Cat. 1 notes
• Number of Cat. 3 and 4 notes for each denomination

NCR Confidential
Internal reconciliation
Problems

• Notes can be recognized differently at second BV pass


(CashInEnd, Retract, Reset) as they did at first pass
(CashIn)
Examples: Cat. 4 note becomes Cat. 1
Cat. 3 note becomes Cat. 2

• Notes can be recognized as not Cat. 4 fit at dispense

• Wrong or lost counters at hardware error

• Categorization of notes for each cassette and bin

NCR Confidential
Internal reconciliation
Problems

• APTRA XFS:
No command that returns all needed counters:
• WFS_INF_CIM_CASH_IN_STATUS
=> Number of notes for each denominations and rejected notes
• WFS_INF_CIM_GET_P6_INFO
=> Number of Cat. 2 and 3 notes for each denomination
• WFS_INF_CIM_CASH_UNIT_INFO
=> Number of notes for each denomination for each cassette/bin

=> Needed counters must be calculated with a


combination of all commands

NCR Confidential
Internal reconciliation
Counters management in CasinoS Cash

Application
counters
CasinoS Cash NVRAM
Cassette
info (own file)
Cassette change: Counters of
New counters and notes
Commands
cassette movement,
configuration corrected total
counters NVRAM
(own file)
XFSADAP Cassette info,
(builds counters for application) APTRA counters

Cassette change:
New counters and APTRA
Commands
cassette counters
configuration Registry

APTRA XFS

NCR Confidential
Internal reconciliation
Counters management in CasinoS Cash

• Initial cassette counters and configuration are entered in


CasinoS Cash Supervisor and send via XFSADAP to APTRA

• CasinoS Cash calculates total cassette counters and credit


amount itself and saves them in NVRAM

• CasinoS Cash uses difference counters to update cassette


counters

• XFSADAP compares differences between APTRA counters


before and after XFS commands

• XFSADAP additionally uses the P6 info (for categorization) and


transaction counters to build the difference counters

NCR Confidential
Internal reconciliation
Building of counters in XFSADAP

• Save APTRA counters at cassette change or initialization


(in NVRAM and Registry)

• Get counters from APTRA after each command that moves the
notes from or to cassettes, bins and Escrow
(CashInEnd, Retract, Reset, Dispense)

• Calculate difference between old (stored) and new APTRA


counters, and use additionally the P6 info and transaction counters
to check calculated cassette counters

• If counters are valid, save new counters as old counters


=> saved counters are base for next calculation
(e.g. at next XFS command)

NCR Confidential
Internal reconciliation
Used XFS commands XFSADAP to get counters

CASH_IN, CASH_IN_END, RESET, RETRACT, DISPENSE:


• WFS_INF_CIM_CASH_IN_STATUS
• WFS_INF_CIM_GET_P6_INFO
• WFS_INF_CIM_CASH_UNIT_INFO
 Recycling cassettes: Number of Cat. 4 fit notes
 CashIn cassette: Number of Cat. 3 and 4 notes for each denomination
 Counterfeit Bin: Number of Cat. 2 notes for each denomination
 Reject Bin: Number of Cat. 3 and 4 notes for each denomination
Number of Cat. 1 notes
 Capture Bin: Number of Cat. 3 and 4 notes for each denomination
Number of Cat. 1 notes

NCR Confidential
Internal reconciliation
Calculation of note categories after 2nd BV pass

Notes after first BV pass (CashIn):


Cat. 1
10 5 50 50
Cat. 2
Counterfeit
20 100 50 Cat. 3
Bin
Escrow 100 50
Cat. 4 unfit

Cat. 4 fit

Notes after second Bill validator


BV pass (CashInEnd):

50 50 20 10
10 ?
5
50 ?
100 Recycling Recycling Recycling
Counterfeit Cashin cassette cassette cassette
Bin Reject Bin
cassette 50 Euro 20 Euro 10 Euro
NCR Confidential
Internal reconciliation
1) Subtract notes went to Recycling cassettes

Notes after first BV pass (CashIn):


Cat. 1
10 5 50 50
Cat. 2
Counterfeit
20 100 50 Cat. 3
Bin
Escrow 100 50
Cat. 4 unfit

Cat. 4 fit

Notes after second Bill validator


BV pass (CashInEnd):

50 50 20 10
10 ?
5
50 ?
100 Recycling Recycling Recycling
Counterfeit Cashin cassette cassette cassette
Bin Reject Bin
cassette 50 Euro 20 Euro 10 Euro
NCR Confidential
Internal reconciliation
2) Subtract notes went to CashIn cassette

Notes after first BV pass (CashIn):


Cat. 1
10 5 50 50
Cat. 2
Counterfeit
20 100 50 Cat. 3
Bin
Escrow 100 50
Cat. 4 unfit

Cat. 4 fit

Notes after second Bill validator


BV pass (CashInEnd):

50 50 20 10
10 ?
5
50 ?
100 Recycling Recycling Recycling
Counterfeit Cashin cassette cassette cassette
Bin Reject Bin
cassette 50 Euro 20 Euro 10 Euro
NCR Confidential
Internal reconciliation
3) Subtract notes went to Counterfeit Bin

Notes after first BV pass (CashIn):


Cat. 1
10 5 50 50
Cat. 2
Counterfeit
20 100 50 Cat. 3
Bin
Escrow 100 50
Cat. 4 unfit

Cat. 4 fit

Notes after second Bill validator


BV pass (CashInEnd):

50 50 20 10
10 ?
5
50 ?
100 Recycling Recycling Recycling
Counterfeit Cashin cassette cassette cassette
Bin Reject Bin
cassette 50 Euro 20 Euro 10 Euro
NCR Confidential
Internal reconciliation
4) Rest of notes are hold in Reject Bin as Cat. 3

Notes after first BV pass (CashIn):


Cat. 1
10 5 50 50
Cat. 2
Counterfeit
20 100 50 Cat. 3
Bin
Escrow 100 50
Cat. 4 unfit

Cat. 4 fit

Notes after second Bill validator


BV pass (CashInEnd):

50 50 20 10
10 50
5
50 100
100 Recycling Recycling Recycling
Counterfeit Cashin cassette cassette cassette
Bin Reject Bin
cassette 50 Euro 20 Euro 10 Euro
NCR Confidential
Internal Reconciliation
Dispense

• Counters of Recycling cassettes can be different to physical


number of notes due to double picks

• Notes of double picks must be in Reject Bin

• If Recycling cassette is empty and counter > 0, then this


counter is moved to Reject Bin and counter of Recycling
cassette is set to 0

NCR Confidential
Reconciliation Banks and CIT
Architecture of CasinoS Cash

• In case of error, notes are sent to these cassettes/bins they logically


belong to (e.g. to cassettes after failed CashInEnd, to Reject Bin after
failed Dispense).
• In case of error, the Recycler functionalities are locked by the application
 The customer is forced by the application to view the customer data
and state of the last transaction
 After the error was solved (e.g. jam cleared) the Recycler
functionalities will be unlocked
• Errors that will lock Recycler:
- Jam
- Power failure, System Escape
- Full bins at Retract Box (physically or logically full)
- Error at getting and writing Signatures
- Receipt Printer not available (only deposit function is locked)
• Counterfeit and Capture Bin can stack notes of more than one transaction
=> Customer and note data are stored in NVRAM for each transaction

NCR Confidential
Reconciliation Banks and CIT
Cassette replenishment (1)

1. Change to supervisor item ‘Cassette replenishment‘


of application

2. Replenish cassettes of Dispenser

3. Empty Reject Bin of Dispenser

4. Enter new counters for Dispenser cassettes


(Add cassette, add notes to cassette, remove cassette)

5. Replenish/empty cassettes of GBRU/GBNA

6. Enter new counters for GBRU/GBNA cassettes


CashIn cassette: Empty cassette
Recycling cassettes: Add cassette, add notes to cassette,
empty cassette,remove cassette

NCR Confidential
Reconciliation Banks and CIT
Cassette replenishment (2)

7. Empty Retract Box physically


=> Keep notes of Counterfeit and Capture Bin in order!

8. Empty Retract Box in Supervisor


- Number of notes and corresponding transaction data are displayed
- These informations are printed on Receipt Printer

9. New counters are sent via XFSADAP to APTRA

10. Counters Changed Events with old and new counters are
sent to Bank server/host

NCR Confidential
Reconciliation Banks and CIT
Cassette replenishment (Printouts)

Workstation: 00031 SNo.: 12345678


Receipt date: 12.01.2006 11:00:35

Counters Capture Bin (Customer money)

Currency: EUR

Denom. Notes Notes Notes Total


Cat. 2 Cat. 3 Cat. 4 in EUR
----------------------------------------
5 0 0 2 10
10 0 0 4 80
20 0 0 0 120
50 0 0 5 250
100 0 0 3 300
200 0 0 2 400
500 0 0 0 0
----------------------------------------
Totals: 0 0 16 1160
========================================
Not recognized notes (Cat. 1): 0

NCR Confidential
Reconciliation Banks and CIT
Cassette replenishment (Printouts)

Capture Bin:
Transaction 1 of 2:
-------------------

Workstation: 00031 SNo.: 12345678


Receipt date: 12.01.2006 11:00:38

Transaction No.: 1274 (Deposit)


Account No.: 547832
Bank No.: 70050000
Card Following No.: 2
Card valid until: 12/06

Total number of notes: 5


Denomination Number of notes
5 2
10 3
20 0
50 0
100 0
200 0
500 0

NCR Confidential
Reconciliation Banks and CIT
Cassette replenishment (Printouts)

Capture Bin:
Transaction 2 of 2:
-------------------

Workstation: 00031 SNo.: 12345678


Receipt date: 12.01.2006 11:00:41

Transaction No.: 1284 (Deposit)


Account No.: 98732
Bank No.: 70050000
Card Following No.: 1
Card valid until: 12/08

Total number of notes: 11


Denomination Number of notes
5 0
10 1
20 0
50 5
100 3
200 2
500 0

NCR Confidential
Reconciliation Banks and CIT
Cassette replenishment (Printouts)

Workstation: 00031 SNo.: 12345678


Receipt date: 12.01.2006 11:05:23

Counters Reject Bin (Bank money)

Denomination Number of notes


5 2
10 4
20 0
50 0
100 0
200 0
500 0
---------------------------------
Not recognized notes: 1
---------------------------------
Total: 6
=================================

Hint:
Counters may be different to real
number of notes (e.g. double pick at
withdrawal).
NCR Confidential
Reconciliation Banks and CIT
Reconciliation of remaining notes with booked amounts

Dispenser + GBRU/GBNA ATM account

Reject Bin CashIn Cass. Opening balance


(Final balance of last cassette change)
+ +
Cassette 1 Recycling 1 +
+ + = Sum of credited deposits
Cassette 2 Recycling 2 -
+ + Sum of debited payments
Cassette 3 Recycling 3 =
+ + Final balance
Cassette 4 Reject Bin

=
Phys. Money in ATM

NCR Confidential
Reconciliation Banks and CIT
Reconciliation of remaining notes with booked amounts

• Start of booking period must be the same date as the cassette


change

• End of booking period must be the same date as the


next cassette change

• Final balance of ATM account must be the remaining money in the


ATM (except notes of Counterfeit and Capture Bin)

• Possible difference amount is credited/debited on special


(difference) account
=> Should never occur, of course!

NCR Confidential
Reconciliation Banks and CIT
Quick reconciliation of remaining notes between
a booking period

• After every transaction the cassette counters are sent to


server/host of the Bank

• Bank compares remaining notes (sent counters) with


actual balance of ATM account

• Short check, if something goes totally wrong

• Differences occur very often


(e.g. because of double picks at dispense)

• Final reconciliation at cassette change

NCR Confidential
Reconciliation Banks and CIT
Clear jams and other errors (1)

1. Cause of error is displayed in State of Health (SOH)


=> GBRU/GBNA functionalities were locked by the application
=> Status of last transaction must be viewed by operator

2. Change to Supervisor item “Last transaction“

3. Transaction data and error reason are displayed


- Transaction data
- Card data of customer
- Kind of transaction:
- Deposit
- Dispense (customer had access / no access to notes)
- Occured error (jam, power failure/system escape,
getting and writing signatures,
full bins at Retract Box)

NCR Confidential
Reconciliation Banks and CIT
Clear jams and other errors (2)

4. Status of GBRU/GBNA is displayed

5. Error details are displayed

6. In case of jam or hardware error:


- Message that there are notes on transport and that they should
be removed now
- Message if notes on transport have already been credited to
customers account (deposit transaction) or if the notes were
in cutomer access (dispense transaction)

7. Reset of GBRU/GBNA
Found notes are sent to this cassettes/bin they logically belong to:
- Deposit (notes not credited yet): Capture Bin
- Deposit (notes already credited): Cassettes
- Dispense (notes already in cutomer access): Capture Bin
- Dispense (notes not in customer access): Reject Bin
NCR Confidential
Reconciliation Banks and CIT
Clear jams and other errors (3)

8. Message with result of reset, if notes were found and


to which cassettes/bin the found notes went to.
If reset failed, message is displayed that problem should be
cleared in the System Application
Note: Reset in System Application does more than
CIM_RESET and CDM_RESET
Be careful: Reset in System Application transports notes always
to Reject Bin

9. Print transaction data, error reason and status of booking


on receipt printer

10. Unlock of GBRU/GBNA functionalities by the application

NCR Confidential
Reconciliation Banks and CIT
Clear jams and other errors (Printout)

Last transaction:
-----------------

Workstation: 00031 SNo.: 12345678


Receipt date: 12.01.2006 10:56:35

Last transaction failed. Found notes on


transport have already been credited.

Transaction data:

Transaction No.: 1274 (Deposit)


Date: 12.01.2006 10:45:31
Credited Amount: 100.00 EUR
Account No.: 547832
Bank No.: 70050000
Card following No.: 2
Card valid until: 12/06

NCR Confidential
Reconciliation Banks and CIT
Reconciliation of found money on transport at jam

• It‘s clearly stated in the clearing process, if found notes on


transport have already been credited and to which customer they
belong to.

• Not found notes are sent to this cassettes/bin they logically


belong to (e.g, already credited => cassettes,
not credited yet => Capture Bin)

• Credited notes taken from the transport can be kept in an


envelope (together with the receipts) in the ATM safe
(for reconciliation later)

• Not credited notes taken from transport can be returned to


customer or credited by bank staff (normal process)
=> they can also be kept with receipts and a note in an envelope
in the ATM safe

NCR Confidential
Reconciliation Banks and CIT
Possible tasks

• Bank staff does all


- Change cassettes and Reject Bin
- Take notes of Counterfeit and Capture Bin
- Clear jams

• CIT does all


- Change cassettes and Reject Bin
- Takes notes of Counterfeit and Capture Bin
- Clears jams

• Tasks are shared


- CIT takes only booked notes => ‘bank money‘
- Bank staff take not credited notes of Counterfeit and Capture Bin
- Banks staff clear jams

NCR Confidential
Supervisor

• Display additional error messages at State of Health (SOH)


=> e.g. last transaction was not OK, GBRU is locked

• Cassette configuration

• Cassette replenishment

• Reconciliation process (last GBRU/GBNA transaction)

• Configuration settings for dispense transactions


(parameters for taking Dispenser or GBRU)

• Tracing of counterfeit notes

• Close XFS sessions before calling System Application

• Open XFS session after leaving System Application

NCR Confidential
Thank you!

NCR Confidential

You might also like