section 7 - payment systems, pc-controlled vending · multi-drop bus / internal communication...

71
Multi-Drop Bus / Internal Communication Protocol MDB/ICP Version 3.0 March 26, 2003 71 Section 7 Cashless Device(s) VMC/Peripheral Communication Specifications 7.1 Introduction This section defines the communications bytes sent and received between the cashless device(s) and the Vending Machine Controller (VMC). As defined in Section 2.3, there are two cashless device addresses; Cashless #1, 00010xxxB (10H) and Cashless #2, 1100xxxB (60H). The second address has been assigned to allow for two unique forms of cashless devices to be resident in the vending machine simultaneously. An example would be a card based system as Cashless Device #1 (10H) and a mobile phone based system as Cashless Device #2 (60H). Everything defined in this section will be common to the two cashless devices only the addresses will be different. Unless otherwise stated, all monetary values used by the cashless devices and the VMC will be sixteen bit (Level 01 & 02) or thirty-two bit (Level 03 if 32 bit option enabled), unsigned binary numbers. The numbers will be sent most significant byte first and scaled using the parameters provided by the cashless devices READER CONFIGURATION DATA response. 7.2 State Definitions MDB cashless devices may be viewed as state machines. These states are as follows: 1) Inactive 2) Disabled 3) Enabled 4) Session Idle 5) Vend 6) Revalue (Level 02/03 cashless devices) 7) Negative Vend (Level 03 cashless devices) 7.2.1 Inactive This is the state of the cashless device at power up or after a reset. While in the Inactive state, cashless devices will NOT be accepted for vending purposes. The cashless device cannot leave this state until all Setup information is received from the VMC. 7.2.2 Disabled The cashless device automatically enters this state from the Inactive state when it has received the Setup information specified in 7.4.1. It will also enter the Disabled state from the Enabled state when it receives the READER DISABLE command. While in the Disabled state, payment medias will NOT be accepted for vending purposes. The cashless device will remain in this state until either a READER ENABLE command is received (when it will enter the Enabled state) or a RESET is received (when it will enter the Inactive state). For power

Upload: dangtram

Post on 27-Aug-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�1

Section 7 Cashless Device(s) VMC/Peripheral Communication Specifications

7.1 Introduction This section defines the communications bytes sent and received between the cashless device(s) and the Vending Machine Controller (VMC). As defined in Section 2.3, there are two cashless device addresses; Cashless #1, 00010xxxB (10H) and Cashless #2, 1100xxxB (60H). The second address has been assigned to allow for two unique forms of cashless devices to be resident in the vending machine simultaneously. An example would be a card based system as Cashless Device #1 (10H) and a mobile phone based system as Cashless Device #2 (60H). Everything defined in this section will be common to the two cashless devices � only the addresses will be different. Unless otherwise stated, all monetary values used by the cashless devices and the VMC will be sixteen bit (Level 01 & 02) or thirty-two bit (Level 03 if 32 bit option enabled), unsigned binary numbers. The numbers will be sent most significant byte first and scaled using the parameters provided by the cashless device�s READER CONFIGURATION DATA response.

7.2 State Definitions MDB cashless devices may be viewed as state machines. These states are as follows: 1) Inactive 2) Disabled 3) Enabled 4) Session Idle 5) Vend 6) Revalue (Level 02/03 cashless devices) 7) Negative Vend (Level 03 cashless devices)

7.2.1 Inactive This is the state of the cashless device at power up or after a reset. While in the Inactive state, cashless devices will NOT be accepted for vending purposes. The cashless device cannot leave this state until all Setup information is received from the VMC.

7.2.2 Disabled The cashless device automatically enters this state from the Inactive state when it has received the Setup information specified in 7.4.1. It will also enter the Disabled state from the Enabled state when it receives the READER DISABLE command. While in the Disabled state, payment medias will NOT be accepted for vending purposes. The cashless device will remain in this state until either a READER ENABLE command is received (when it will enter the Enabled state) or a RESET is received (when it will enter the Inactive state). For power

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�2

management purposes, current consumption will not exceed idle mode specification during disabled state.

7.2.3 Enabled In this state, cashless devices may be used for MDB transactions. The cashless device will remain in this state until a valid payment media is read (when it will enter the Session Idle state), a READER DISABLE command is received (when it will return to the Disabled state) or a RESET is received (when it will enter the Inactive state).

7.2.4 Session Idle In the Enabled state, when a valid payment media is processed, the cashless device will issue a BEGIN SESSION response to a VMC POLL and enter the Session Idle state. This indicates that the cashless device is available for vending activities. The only structured exit from the Session Idle state is through the SESSION COMPLETE message from the VMC. The SESSION COMPLETE command will cause the cashless device to respond with an END SESSION message and enable/disable itself appropriately. Vend / Negative Vend / Revalue commands will cause the cashless device to leave the Session Idle state and enter the Vend / Negative Vend / Revalue state when products are selected and purchased.

7.2.5 Vend This state is entered from the Session Idle state upon reception of a VEND REQUEST message from the VMC. The entire Vend state is an uninterruptable command/response sequence. The cashless device will return to the Session Idle state upon completion of this sequence.

7.2.6 Revalue (Level 02 / 03 Cashless Devices) This state is entered from the Session Idle state upon reception of a REVALUE REQUEST message from the VMC. The entire Revalue state is an uninterruptable command/response sequence. The cashless device will return to the Session Idle state upon completion of this sequence.

7.2.7 Negative Vend Request (Level 03 Cashless Devices) This state is entered from the Session Idle state upon reception of a NEGATIVE VEND REQUEST message from the VMC. The entire Negative Vend Request state is an uninterruptable command/response sequence. The cashless device will return to the Session Idle state upon completion of this sequence.

7.3 Command Protocol After the VMC has issued a command, no new commands may be issued until all data generated in response to that command has been received from the cashless device. The complete response may be an ACK only (e.g. the READER ENABLE command). Alternatively, it may consist of an informational response (e.g. READER CONFIGURATION DATA).

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�3

The cashless device may provide an informational response in two ways. It may respond immediately with the requested data, or the cashless device may ACK the VMC command. If ACKed, the VMC must issue POLLs until the cashless device responds with the requested data, or until the Application Maximum Response Time (defined in READER CONFIGURATION response) has elapsed. The cashless device will define the currency type at the beginning of each session. The currency type will be used for all following transactions in that session. If the VMC does not support this currency type, it will end the session. Below are the uninterruptable VMC commands which require an informational cashless device response and their associated result: VMC Command Cashless Device Response Result SETUP/CONFIGURATlON DATA => READER CONFIGURATION

DATA

EXPANSION/REQUEST ID => PERIPHERAL ID READER CANCEL => CANCELLED VEND REQUEST... VEND CANCEL => VEND DENIED* VEND REQUEST => VEND DENIED* VEND REQUEST => VEND APPROVED => VEND SUCCESS* VEND REQUEST => VEND APPROVED => VEND FAILURE* NEGATIVE VEND REQUEST => NEGATIVE VEND DENIED* NEGATIVE VEND REQUEST => NEGATIVE VEND

APPROVED => NEGATIVE VEND SUCCESS*

NEGATIVE VEND REQUEST => NEGATIVE VEND APPROVED =>

NEGATIVE VEND FAILURE*

REVALUE REQUEST=> REVALUE APPROVED/DENIED*

SESSION COMPLETE => END SESSION *These VEND / NEGATIVE VEND / REVALUE REQUEST response sequences constitute the Vend / Negative Vend / Revalue Request states. Below are the uninterruptable POLLed cashless device which require an informational response from the VMC: VMC Command & Data Cashless Device Response Result POLL => DATA ENTRY REQUEST +

DISPLAY REQUEST (optional)

POLL => DATA ENTRY CANCEL Cancelled DATA ENTRY RESPONSE w/ FFs => Cancelled Any command may be issued by the VMC at anytime providing the above command protocol is observed. There are four exceptions to this rule:

1) VEND REQUEST, REVALUE REQUEST, and NEGATIVE VEND REQUEST response sequences may only be initiated in the Session Idle state.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�4

2) The VMC may issue a VEND CANCEL command after issuing a VEND REQUEST, but before receiving a VEND APPROVED/DENIED response. In this case the cashless device will issue a VEND DENIED response to satisfy the original VEND REQUEST response requirement.

3) The cashless device may issue DISPLAY REQUESTs in response to POLLs at any time, if the VMC�s display is available for use.

4) The RESET command is allowed at any time, it is not subject to any restrictions.

If a VMC command is received by the cashless device while it is in one of the preceding uninterruptable states, the following will occur:

The cashless device will ACK the offending command (no data response will be forthcoming). The cashless device will respond to the next poll with the �COMMAND OUT OF SEQUENCE� response (0BH).

It should be pointed out to cashless device developers that a command out of sequence will always cause the VMC to issue a RESET command to the cashless device.

7.3.1 Multi-Message Response Format The multi-message response format permits the cashless device to send multiple messages in response to a single command or POLL. Because all messages are of a fixed length, there is no confusion determining where one message ends and the next message begins. (The total message length is subject to the 36 byte limit imposed by Section 2 of this standard.) For example, if a cashless device fails to correctly write a payment media after a VEND REQUEST, it may need to report: 1) VEND DENIED 2) MALFUNCTION/ERROR subcode 07h 3) SESSION CANCEL REQUEST The multi-message response (hex) would look like this:

06 0A 07 04 1B*1 2 3 4

The first byte above (marked 1) is the VEND DENIED message. The next two bytes (marked 2) are the MALFUNCTION/ERROR message. The third and final message is the CANCEL SESSION REQUEST (marked 3). An eight bit checksum with the mode bit set (marked 4) finishes the message. It is important to note that the controller must service the messages in the order in which they are received. This is necessary to ensure that command protocol is maintained.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�5

7.3.2 Coin Mechanism Escrow Return Actions If present, the cashless device return button is controlled by the cashless device and it is the responsibility of the cashless device to terminate a vend sequence if the return button is pressed during a vend sequence. The reaction of the VMC to the coin mechanism escrow return will vary depending upon the state of the system at the time it is pressed. If escrow return is allowed then a coin mechanism escrow return should be interpreted as VEND CANCEL or END OF SESSION.

1) In the Enabled state, the VMC should send a READER CANCEL command to the cashless device. This allows the user to abort a pre-approved on-line authorisation request.

2) In the Session Idle state, the VMC should send a SESSION COMPLETE command to the cashless device. This will return the cashless device to the Enabled state. The escrow return may cause the system to enter the revalue state prior to the VMC sending the �SESSION COMPLETE� command.

3) In the Vend state, before the cashless device has sent a VEND APPROVED or a VEND DENIED, the VMC should send a VEND CANCEL command to the cashless device. This will cancel the vend and cause the cashless device to refund the payment media if necessary.

4) In all other cases, no message is sent from the VMC to the cashless device.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�6

TABLE 1: COMMANDS & RESPONSES

Command Code Sub-command / Data

Response VMC / Cashless Level Support

Reset 10H 60H

(none) No Data * (Level 01+)

00H - Config Data 01H - Reader Config Data

(Level 01+) Setup 11H 61H

01H - Max/Min Prices No Data * (Level 01+) Poll 12H

62H (none) 00H - Just Reset

01H - Reader Config Data 02H - Display Request 03H - Begin Session 04H - Session Cancel Request 05H - Vend Approved 06H - Vend Denied 07H - End Session 08H - Cancelled 09H - Peripheral ID 0AH - Malfunction / Error 0BH - Cmd Out Of Sequence 0DH - Revalue Approved 0EH - Revalue Denied 0FH - Revalue Limit Amount 10H - User File Data 11H - Time/Date Request 12H - Data Entry Request 13H - Data Entry Cancel 14H -1AH 1BH - FTL REQ TO RCV 1CH - FTL RETRY / DENY 1DH - FTL SEND BLOCK 1EH - FTL OK TO SEND 1FH - FTL REQ TO SEND 20H - FEH FFH - Diagnostic Response

(Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 01+) (Level 02+) (option) (Level 02+) (option) (Level 02+) (option) (Level 02) ** (Level 02+) (option) (Level 03+) (option) (Level 03+) (option) (For Future Use) (Level 03+) (option) (Level 03+) (option) (Level 03+) (option)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�7

(Level 03+) (option) (Level 03+) (option) (For Future Use) (Level 01+)

00H - Vend Request

05H - Vend Approved 06H - Vend Denied

(Level 01+) (Level 01+)

01H - Vend Cancel 06H - Vend Denied (Level 01+) 02H - Vend Success No Data * (Level 01+) 03H - Vend Failure No Data * (Level 01+) 04H - Session

Complete 07H - End Session (Level 01+)

05H - Cash Sale No Data * (Level 01+)

Vend 13H 63H

06H - Negative Vend Request

05H � Vend Approved 06H � Vend Denied

(Level 03+) option) (Level 03+) (option)

00H - Reader Disable No Data * (Level 01+) 01H - Reader Enable No Data * (Level 01+) 02H - Reader Cancel 08H - Cancelled (Level 01+)

Reader 14H 64H

03H - Data Entry Response

No Data * (Level 03+) (option)

00H - Revalue Request

0DH - Revalue Approved 0EH - Revalue Denied

(Level 02+) (option) (Level 02+) (option)

Revalue (option)

15H 65H

01H - Revalue Limit Request

0FH - Revalue Limit Amount

0EH - Revalue Denied

(Level 02+) (option) (Level 02+) (option)

00H - Request ID 09H - Peripheral ID (Level 01+) 01H - Read User File 10H - User File Data (Level 02) ** 02H - Write User File No Data * (Level 02) ** 03H - Write

(option) Time/Date

No Data * (Level 02+) (option)

04H - Optional Feature Enabled

No Data (Level 03+)

Expansion 17H 67H

FAH - FTL (option)REQ TO RCV

1DH - SEND BLOCK 1CH - RETRY / DENY

(Level 03+) (option) (Level 03+) (option)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�8

FBH - FTL (option) RETRY / DENY

No Data (Level 03+) (option)

FCH - FTL (option)SEND BLOCK

No Data (Level 03+) (option)

FDH - FTL (option)OK TO SEND

1DH - SEND BLOCK (Level 03+) (option)

FEH - FTL (option)REQ TO SEND

1EH - OK TO SEND 1CH - RETRY/DENY

(Level 03+) (option) (Level 03+) (option)

FFH - Diagnostics FFH - Diagnostic Response

(Level 01+)

* No Data response = peripheral just responds with ACK or NAK ** Obsolete Command � Do not use for new designs. Use EXPANSION - Diagnostics. The term (option) indicates that the command/response is a feature enabled by option bits. NOTE: Cashless device responses which are part of request / response sequences are listed more than once in the above table since the cashless device may respond either immediately to the request (within 5 milliseconds) or to a later POLL.

7.4 VMC/ Cashless Device Command/Response Formats

In the following section, the term �Reader� will indicate either Cashless Device #1 or #2. 7.4.1 Reset and Initialising RESET (10H / 60H) Reader response: No Data response If this command is received by a cashless device it should terminate any ongoing transaction (with an appropriate credit adjustment, if appropriate), eject the payment media (if applicable), and go to the Inactive state. All Level 02 and above VMCs must follow the RESET command with the following cashless device initializing sequence: (Any new Level 01 VMCs are recommended to follow the sequence.) Note that the example shows commands for Cashless Device #1 (10H) only. They would be the same for Cashless Device #2 (address 60H).

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�9

POLL � 12h

To obtain �JUST RESET� response SETUP CONFIGURATION DATA � 11 00h

To send the VMC�s configuration data and obtain the cashless device�s data SETUP MAX/MIN PRICE � 11 01h

To send the maximum and minimum prices in the VMC. These prices must be sent as Level 01/02 16 bit credit.

EXPANSION REQUEST ID � 17 00h To obtain additional cashless device information and options (options in Level 03+ only)

EXPANSION ENABLE OPTIONS � 17 04h (Level 03+ only) To enable desired options

SETUP MAX/MIN PRICE � 11 01h (Level 03+ and option bits 1 & 2 only) If 32 bit currency option and/or multi currency � multi lingual is enabled (i.e. bits 1 & 2 of expansion enable options), perform SETUP MAX/MIN PRICE again to get 32 bit credit and/or user currency � user language (this conditions will be known as EXPANDED CURRENCY MODE in the rest of the document).

READER ENABLE � 14 01h To enable cashless device (if desired)

7.4.2 SETUP - Config Data SETUP (11H / 61H)

Config Data (00H) Y1

VMC Feature Level Y2

Columns on Display Y3

Rows On Display Y4

Display Info Y5

Y1 : Configuration data.

VMC is sending its configuration data to reader. Y2 : VMC Feature Level.

Indicates the feature level of the VMC. The available feature levels are: 01 - The VMC is not capable or will not perform the advanced features

as specified in Table 1: COMMANDS & RESPONSES following Section 7.3.2. The reader will not provide advanced information to the VMC, but can do the advanced features internally (transparently to the VMC). The reader has no revaluation capability.

02 - The VMC is capable and willing to perform the advanced features as specified in Table 1: COMMANDS & RESPONSES following Section 7.3.2. The reader will provide advanced information to the VMC (if possible) and will not do the advanced features internally.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�10

03 - The VMC is able to support level 02, but also supports some or all of the optional features listed in the EXPANSION ID command (i.e., file transfer, 32 bit credit, multi-currency / language features, negative vend, and / or data entry).

Y3 : Columns on Display. The number of columns on the display. Set to 00H if the display is not available to the reader.

Y4 : Rows on Display. The number of rows on the display

Y5 : Display Information - xxxxxyyy xxxxx =

yyy = 000 : 001 : 010-111:

Unused Display type Numbers, upper case letters, blank and decimal point. Full ASCII Unassigned

Reader Response: Reader Config Data (01H) Z1

Reader Feature Level Z2

Country Code High Z3

Country Code Low Z4

Scale Factor Z5

Decimal Places Z6

Application Maximum Response Time Z7

Miscellaneous Options Z8

Z1 : READER - Configuration data.

Indicates the payment media reader is responding to a SETUP � Configuration data request from the VMC.

Z2 : Reader Feature Level. Indicates the feature level of the reader. Currently feature levels are:

01 - The reader is not capable or will not perform the advanced features as specified in Table 1: COMMANDS & RESPONSES following Section 7.3.2. The reader will not provide advanced information to the VMC, but can do the advanced features internally (transparently to the VMC). The reader has no revaluation capability.

02 - The reader is capable and willing to perform the advanced features as specified in Table 1: COMMANDS & RESPONSES following Section 7.3.2. The reader will provide advanced information to the VMC (if possible) and will not do the advanced features internally.

03 - The reader is able to support level 02, but also supports some or all of the optional features listed in the EXPANSION ID command (i.e., file transfer, 32 bit credit, multi-currency / language features, negative vend, and / or data entry).

Z3-Z4 : Country / Currency Code - packed BCD. The packed BCD country / currency code of the reader can be sent in two

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�11

different forms depending on the value of the left most BCD digit. If the left most digit is a 0, the International Telephone Code is used to indicate the country that the reader is set-up for. For example, the USA code is 00 01H (Z3 = 00 and Z4 = 01). If the left most digit is a 1, the latest version of the ISO 4217 numeric currency code is used (see Appendix A1). For example, the code for the US dollar is 18 40H (Z2 = 18 and Z3 = 40) and for the Euro is 1978 (Z3 = 19 and Z4 = 78). Use FFFFh if the country code in unknown. For level 3 cashless devices, it is mandatory to use the ISO 4217 numeric currency code (see Appendix A1).

Z5 : Scale Factor. The multiplier used to scale all monetary values transferred between the VMC and the reader.

Z6 : Decimal Places. The number of decimal places used to communicate monetary values between the VMC and the payment media reader. All pricing information sent between the VMC and the payment media reader is scaled using the scale factor and decimal places. This corresponds to: ActualPrice P X 10 Y= ⋅ ⋅ − where P is the scaled value send in the price bytes, and X is the scale factor, and Y is the number of decimal places. For example if there are 2 decimal places and the scale factor is 5, then a scaled price of 7 will mean an actual of 0.35.

Z7 : Application Maximum Response Time - seconds. The maximum length of time a reader will require to provide a response to any command from the VMC. The value reported here supercedes the payment reader�s default NON-RESPONSE time defined in section 7.5 if the value reported here is greater.

Z8 : Miscellaneous Options � xxxxyyyy xxxx: Unused (must be set to 0) yyyy: Option bits b0=0: The payment media reader is NOT capable of restoring funds

to the user�s payment media or account. Do not request refunds.

b0=1: The payment media reader is capable of restoring funds to the user�s payment media or account. Refunds may be requested.

b1=0: The payment media reader is NOT multivend capable. Terminate session after each vend.

b1=1: The payment media reader is multivend capable. Multiple

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�12

items may be purchased within a single session. b2=0: The payment media reader does NOT have a display. b2=1: The payment media reader does have its own display. b3=0: The payment media reader does NOT support the

VEND/CASH SALE subcommand. b3=1: The payment media reader does support the VEND/CASH

SALE subcommand.

b4-b7=0 Any future options must be covered by the EXPANSION COMMAND option bits.

7.4.3 SETUP � Max / Min Prices SETUP (11H / 61H)

Max / Min Prices (01H) Y1

Maximum Price Y2-Y3

Minimum Price Y4-Y5

Level 01 / 02 / 03 Readers

Y1 : Max / Min prices Indicates the VMC is sending the price range to the reader.

Y2 - Y3 : Maximum Price � scaled This information should be sent as soon as the VMC prices have been established and any time there is a change in the maximum price, If the VMC does not know the maximum price, FFFFh should be sent.

Y4 -Y5 : Minimum Price � scaled This information should be sent as soon as the VMC prices have been established and any time there is a change in the minimum price. If the VMC does not know the minimum price, 0000h should be sent.

SETUP (11H / 61H)

Max / MinPrices (01H) Y1

Maximum Price Y2-Y5

Minimum Price Y6-Y9

Currency Code Y10-Y11

Level 03 (EXPANDED CURRENCY MODE) Readers

Y1 : Max / Min prices Indicates the VMC is sending the price range to the reader.

Y2 � Y5 : Maximum Price � scaled This information should be sent as soon as the VMC prices have been established and any time there is a change in the maximum price, If the VMC does not know the maximum price, FFFFFFFFh should be sent.

Y6 �Y9 : Minimum Price � scaled This information should be sent as soon as the VMC prices have been

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�13

established and any time there is a change in the minimum price. If the VMC does not know the minimum price, 00000000h should be sent.

Y10-Y11 Currency Code The currency code used during this command per ISO 4217 (see Appendix A1). The value is configured as packed BCD with the leading digit a 1 (one). For example, the code for the US dollar would be 1840 (Z10 = 18 and Z11 = 40). and for the Euro is 1978 (Z10 = 19 and Z11 = 78).

Reader response: No Data response

7.4.4 POLL

POLL (12H / 62H)

The POLL command is used by the VMC to obtain information from the payment media reader. This information may include user actions (CANCEL SESSION REQUEST), hardware malfunctions (MALFUNCTION /ERROR), software malfunctions (COMMAND OUT OF SEQUENCE) or information explicitly requested by the controller (READER CONFIGURATION DATA). An ACK response indicates that no error states exist, and either no information request is pending or pending information is not yet ready for transmission. In addition to an ACK, the VMC may receive the following POLL responses from the payment media reader.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�14

Reader responses: Just Reset (00H) Z1

Z1 : JUST RESET Indicates the payment media reader has been reset. Note: the difference between ACK and JUST RESET responses is:

00H 00H* =JUST RESET 00H* =ACK

*mode bit=1 Reader Config Info (01H) Z1

Reader Feature Level Z2

Country Code High Z3

Country Code Low Z4

Scale Factor Z5

Decimal Places Z6

Application Maximum Response Time Z7

Miscellaneous Options Z8

See paragraph 7.4.2 for a detailed explanation of this response. Display Request (02H) Z1

Display Time Z2

Display Data Z3-Z34

Z1 : DISPLAY REQUEST

The payment media reader is requesting a message to be displayed on the VMC�s display.

Z2 : Display Time - 0.1 second units The requested display time. Either the VMC or the payment media reader may overwrite the message before the time has expired.

Z3-Z34 : Display Data � ASCII The message to be displayed. Formatting (leading and/or trailing blanks) is the responsibility of the payment media reader. The number of bytes must equal the product of Y3 and Y4 up to a maximum of 32 bytes in the setup/configuration command.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�15

Begin Session (03H) Z1

Funds Available Z2-Z3

Level 01 Readers

Z1 : BEGIN SESSION (level 01 readers) Allow a patron to make a selection, but do not dispense product until funds are approved.

Z2-Z3 : Funds Available - scaled a. Lesser of the user�s payment media or account balance or FFFEh

units. b. Not yet determined - FFFFh.

Begin Session (03H) Z1

Funds Available Z2-Z3

Payment media ID Z4-Z7

Payment Type Z8

Payment Data Z9-Z10

Level 02 / 03 Readers

Z1 : BEGIN SESSION (level 02/03 readers) Allow a patron to make a selection, but do not dispense product until funds are approved.

Z2-Z3 : Funds Available � scaled a. Lesser of the user�s payment media or account balance or FFFEh

units. b. Not yet determined - FFFFh.

Z4-Z7 : Payment media ID. 00000000h-FFFFFFFEh=Payment media identification number. FFFFFFFFh = unknown payment media ID.

Z8 : Type of payment: 00xxxxxxb = normal vend card (refer EVA-DTS Standard, Appendix A.1.1 Definitions) x1xxxxxxb = test media 1xxxxxxxb = free vend card

xx000000b xx000001b xx000010b xx000011b

-0 VMC default prices. -1 User Group (Z9 = EVA-DTS Element DA701) Price list number (Z10 = EVA-DTS Element LA101)*-2 User Group (Z9 = EVA-DTS Element DA701) Discount group index (Z10 = EVA-DTS Element MA403)-3 Discount percentage factor (Z9=00, Z10 = 0 to 100**,

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�16

xx000100b

report as positive value in EVA-DTS Element MA404) -4 Surcharge percentage factor (Z9=00, Z10 = 0 to 100**, report as negative value in EVA-DTS Element MA404) * User Group is a segmentation of all authorized users. It allows selective cost allocation. A User Group usually has no direct relation to a price list. Price Lists are tables of prices. Each Price List contains an individual price for each product. Discount Group indicates the Price List on which the Percentage Factor will be applied. If the User Group, the Price List or Discount Group is unknown by the VMC, the normal prices are used (Z8 is defaulted to 00h). Minimum value for Z9 and Z10 is 0. ** Percentages are expressed in binary (00 to 64h)

Note: These functions may NOT be supported by all VMCs.

Z9-Z10 : Payment data as defined above. Begin Session (03H) Z1

Funds Available Z2-Z5

Payment media ID Z6-Z9

Payment Type Z10

Payment Data Z11-Z12

User Language Z13-Z14

User Currency Code Z15-Z16

Card Options Z17

Level 03 (EXPANDED CURRENCY MODE) Readers

Z1 : BEGIN SESSION (level 03 readers / EXPANDED CURRENCY MODE) Allow a patron to make a selection, but do not dispense product until funds are approved.

Z2-Z5 : Funds Available � scaled a. Lesser of the user�s payment media or account balance or

FFFFFFFEh units. b. Not yet determined - FFFFFFFFh.

Z6-Z9 : Payment media ID. 00000000h-FFFFFFFEh=Payment media identification number. FFFFFFFFh = unknown payment media ID.

Z10 : Type of payment: 00xxxxxxb = normal vend card (refer EVA-DTS Standard, Appendix A.1.1 Definitions)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�17

x1xxxxxxb = test media 1xxxxxxxb = free vend card

xx000000b xx000001b xx000010b xx000011b xx000100b

-0 VMC default prices. -1 User Group (Z11 = EVA-DTS Element DA701) Price list number (Z12 = EVA-DTS Element LA101)*-2 User Group (Z11 = EVA-DTS Element DA701) Discount group index (Z12 = EVA-DTS Element MA403)-3 Discount percentage factor (Z11=00, Z12 = 0 to 100**, report as positive value in EVA-DTS Element MA404) -4 Surcharge percentage factor (Z11=00, Z12 = 0 to 100**, report as negative value in EVA-DTS Element MA404) * User Group is a segmentation of all authorized users. It allows selective cost allocation. A User Group usually has no direct relation to a price list. Price Lists are tables of prices. Each Price List contains an individual price for each product. Discount Group indicates the Price List on which the Percentage Factor will be applied. If the User Group, the Price List or Discount Group is unknown by the VMC, the normal prices are used (Z10 is defaulted to 00h). Minimum value for Z11 and Z12 is 0. ** Percentages are expressed in binary (00 to 64h)

Note: These functions may NOT be supported by all VMCs.

Z11-Z12: Payment data as defined above. Z13-Z14 User language to use during this session (2 ASCII characters per ISO

639:latest version). The user language is read from the patrons card and, if supported, should be used instead of the VMC default language (taken according to the setup command International Telephone code) up to the next �session complete�. If the VMC is not able to support this language, the default setting should be used.

Z15-Z16 User currency code to use during this session per ISO 4217 (see Appendix A1). The value is configured as packed BCD with the leading digit a 1 (one). For example, the code for the US dollar would be 1840 (Z15 = 18 and Z16 = 40). and for the Euro is 1978 (Z6 = 19 and Z7 = 78).

Z17 Card options (overrides any previous default settings for reader) b0=0: The VMC displays the credit if it is programmed to do so b0=1: The VMC must not display the credit (privacy purpose � user

option) b1=0: The actual inserted patrons card has no refund capability b1=1: The actual inserted patrons card has refund capability (Note: a

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�18

reader with refund capability may be used with both type of cards)

b2=0 The actual inserted patrons card has no revalue capability b2=1 The actual inserted patrons card has revalue & negative vend

capability b3-b7: Reserved for future extensions (unused bits must be set to 0)

Refund means the ability to put money back on the inserted patrons card up to the value of the last transaction. Revalue means the ability to put money back on the inserted patrons card up to any value.

The card reader will define the currency type at the beginning of each card session. The currency type will be used for all following transactions in that session. If the VMC does not support this currency type, it will end the session.

Session Cancel Request (04H) Z1

Z1 : SESSION CANCEL REQUEST The payment media reader is requesting the VMC to cancel the session. The VMC should initiate an eventual SESSION COMPLETE. This response is sent to the VMC whenever the payment media is removed or a request for removal from the reader is made by the user (e.g. if a return button on the reader is pressed).

Vend Approved (05H) Z1

Vend Amount Z2-Z3

Level 01 / 02 / 03 Readers Refer to paragraph 7.4.5 for detailed explanation. Vend Approved (05H) Z1

Vend Amount Z2-Z5

Level 03 (EXPANDED CURRENCY MODE) Readers Refer to paragraph 7.4.5 for detailed explanation.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�19

Vend Denied (06H) Z1 Refer to paragraph 7.4.5 for detailed explanation. End Session (07H) Z1 Refer to paragraph 7.4.9 for detailed explanation. Cancelled (08H) Z1 Refer to paragraph 7.4.14 for detailed explanation. Peripheral ID (09H) Z1

Manufacturer Code Z2-Z4

Serial Number Z5-Z16

Model Number Z17-Z28

Software Version Z29-Z30

Level 01 / 02 / 03 Readers (If VMC indicates Level 01 or 02)

Z1 : PERIPHERAL ID Reader is sending peripheral ID information.

Z2 - Z4 : Manufacturer Code - ASCII Identification code for the equipment supplier. Currently defined codes are listed in the EVA document entitled "European Vending Association Data Transfer Standard" (EVA-DTS), the Audit Data Lists section, sub-section 2, "Manufacturer Codes".

Z5-Z16 : Serial Number � ASCII Factory assigned serial number.

Z17-Z28 : Model Number - ASCII Manufacturer assigned model number.

Z29-Z30 : Software Version - packed BCD Current software version.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�20

Peripheral ID (09H) Z1

Manufacturer Code Z2-Z4

Serial Number Z5-Z16

Model Number Z17-Z28

Software Version Z29-Z30

Optional Feature bits Z31 - Z34

Level 03 Readers (If VMC indicates Level 03)

Z1 : PERIPHERAL ID Reader is sending peripheral ID information.

Z2 - Z4 : Manufacturer Code - ASCII Identification code for the equipment supplier. Currently defined codes are listed in the EVA document entitled "European Vending Association Data Transfer Standard" (EVA-DTS), the Audit Data Lists section, sub-section 2, "Manufacturer Codes".

Z5-Z16 : Serial Number � ASCII Factory assigned serial number.

Z17-Z28 : Model Number - ASCII Manufacturer assigned model number.

Z29-Z30 : Software Version - packed BCD Current software version.

Z31- Z34 Optional Feature Bits. Each of the 32 bits indicate an optional feature availability. Bits should be sent in descending order, i.e. bit 31 is sent first and bit 0 is sent last. Options must be enabled by the VMC using the Expansion Optional Feature Bit Enable (17H-04H) command and all features are disabled after a reset. Currently defined options are:b0 - File Transport Layer supported b1 - 0 = 16 bit monetary format, 1 = 32 bit monetary format b2 - multi currency / multi lingual b3 - negative vend b4 - data entry b5 to b31 not used (should be set to 0) Note: If 32 bit monetary format (b1) and or multi currency / multi lingual (b2) options are enabled, this condition will be known as EXPANDED CURRENCY MODE in the rest of the document.

Malfunction / Error (0AH) Z1

Error Code Z2

Z1 : MALFUNCTION/ERROR

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�21

The payment media reader is reporting a malfunction or error.

Z2 : Error Code - xxxxyyyy xxxx

0000: 0001: 0010: 0011: 0100: 0101: 0110: 0111: 1000: 1001: 1010: 1011: 1100: 1101-1111:

error types Payment media Error1 Invalid Payment media1 Tamper Error1 Manufacturer Defined Error1 Communications Error2 Reader Requires Service2 Unassigned2 Manufacturer Defined Error2 Reader Failure3 Communications Error3 Payment media Jammed3 Manufacturer Defined Error Refund error � internal reader credit lost Unassigned

1 Transient error - Reported once 2 Non-transient error - Reported every POLL until cleared. Reader still functional. 3 Non-transient error - Reported every POLL until cleared. Reader not presently functional. yyyy = Manufacturer defined subcode

Transient Error Handling The error will be reported to the VMC until it has been ACKnowledged. The error state will be cleared in the reader, and normal operations will continue. Non-transient Error Handling The error will be reported to the VMC at each POLL as long as it exists. If the reader is still functional, multi-message responses will allow normal responses in addition to the error report.

Note: Refund error is sent from the media reader when it is not able to refund money to the payment media following a failed or cancelled vend. The reader internally cancels the credit and the credit is lost.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�22

Command Out of Sequence (0BH) Z1 Level 01 Readers

Z1 : COMMAND OUT OF SEQUENCE (Level 01 readers) The payment media reader has received a command that is not executable in its current state, or that violates one of the uninterruptable sequences. The offending command should be ACKed but not acted upon the reader. The VMC will send the RESET command to the reader upon reception of this response. Note that the reader will continue with any credit update process prior to resetting.

Command Out of Sequence (0BH) Z1

Status Z2

Level 02 / 03 Readers

Z1 : COMMAND OUT OF SEQUENCE. (Level 02/03 readers) The payment media reader has received a command that is not executable in its current state, or that violates one of the uninterruptable sequences. The offending command should be ACKed but not acted upon the reader. The VMC will send the RESET command to the reader upon reception of this response. Note that the reader will continue with any credit update process prior to resetting.

Z2 : Status The state of the payment media reader.

01: Inactive state 02: Disabled state 03: Enabled state 04: Session idle state 05: Vend state 06: Revalue state 07: Negative Vend state

Revalue Approved (0DH) Z1 Level 02 / 03 Readers

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�23

Refer to paragraph 7.4.16 for detailed explanation. Revalue Denied (0EH) Z1 Level 02 / 03 Readers Refer to paragraph 7.4.16 for detailed explanation. Revalue Limit Amount (0FH) Z1

Revalue Limit Amount Z2-Z3

Level 02 / 03 Readers Refer to paragraph 7.4.17 for detailed explanation.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�24

Revalue Limit Amount (0FH) Z1

Revalue Limit Amount Z2-Z5

Level 03 (EXPANDED CURRENCY MODE) Readers Refer to paragraph 7.4.17 for detailed explanation.

User File Data (10H) Z1

Number of User File Z2

Length Of User File Z3

User Data Z4-Zn

Level 02 Readers Obsolete Response � Do not use for new designs!! (Use EXPANSION � Diagnostics) Refer to paragraph 7.4.19 for detailed explanation.

Time/Date Request (11H) Z1 Level 02 / 03 Readers

Z1 : TIME DATE REQUEST In certain circumstances it will be necessary to synchronize the real time clock of the card reader with real time clock of the VMC. The card reader will respond with TIME/DATE REQUEST to a POLL command of the VMC. The VMC will follow with the EXPANSION-WRITE TIME/DATE FILE to the card reader. Refer to paragraph 7.4.19.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�25

Data Entry Request Response (12H) Z1

Data Entry Length and Repeat Bit Z2

Level 03 Readers (if Data Entry option enabled)

Z1 : DATA ENTRY REQUEST The reader is making a DATA ENTRY REQUEST.

Z2 : DATA ENTRY LENGTH and REPEAT BIT rnnnnnnnn r � Repeat Bit (0 = initial request / 1 = repeated requests nnnnnnn � number of requested characters / keys

Depending on the type of data being entered, it is a higher level system decision on whether or not the data is displayed on either the vending machine or card reader. If the data is not displayed (a recommendation for certain types of sensitive data) the vending machine or card reader display can still be optionally used to indicate a prompt and/or representation of the data entered for user feedback (i.e., asterisks *****). If the card reader uses the vending machine�s display for Data Entry information, it must concatenate the DATA ENTRY REQUEST Response (12H) with the DISPLAY REQUEST response (02H). Upon receipt of the response pair, the vending machine controller will give its display to the card reader for the duration of the Data Entry session plus the amount of time specified in the Z2 Display Time following the end of the session (regardless of a normal or cancelled session). In essence, the vending machine controller will not write anything to its display during the Data Entry session plus the Z2 time. The reader will be able to update the Data Entry information on the vending machine�s display by sending additional DISPLAY REQUEST responses during the Data Entry session. Please see additional DATA ENTRY procedures in Section 7.4.15. Data Entry Cancel (13H) Z1 Level 03 Readers (if Data Entry option enabled)

Z1 : DATA ENTRY CANCEL The user has pushed the reader�s RETURN button before completing the DATA ENTRY. The VMC should terminate all DATA ENTRY activity in progress.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�26

FTL REQ TO RCV (1BH) Z1 Level 03 Readers (if File Transport Layer option enabled)

Z1 : FTL REQ TO RCV The reader is requesting to receive data from a device or VMC.

Z2 : FTL Destination Address The destination address of the response as defined in Section 2.6.

Z3 : FTL Source Address (Reader = 10H / 60H) The source address of the response as defined in Section 2.6.

Z4 : FTL File ID The type of information desired as defined in Section 2.6.

Z5 : FTL Maximum Length The total number of blocks in the file as defined in Section 2.6.

Z6 : FTL Control Data transfer control information as defined in Section 2.6.

FTL RETRY/DENY (1CH) Z1 Level 03 Readers (if File Transport Layer option enabled)

Z1 : FTL RETRY / DENY The reader is requesting a device or VMC to retry or deny the last FTL command.

Z2 : FTL Destination Address The destination address of the response as defined in Section 2.6.

Z3 : FTL Source Address (Reader = 10H / 60H) The source address of the response as defined in Section 2.6.

Z4 : FTL Retry Delay The retry delay as defined in Section 2.6.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�27

FTL SEND BLOCK (1DH) Z1 Level 03 Readers (if File Transport Layer option enabled)

Z1 : FTL SEND BLOCK The reader is sending a block of data (maximum of 31 bytes) to a device or VMC.

Z2 : FTL Destination Address The destination address of the response as defined in Section 2.6.

Z3 : FTL Block # The sequential number of the block as defined in Section 2.6.

Z4- Z34 :

FTL Data (maximum of 31 bytes) The actual data portion of the block as defined in Section 2.6.

FTL OK TO SEND (1EH) Z1 Level 03 Readers (if File Transport Layer option enabled)

Z1 : FTL OK TO SEND The reader is indicating that it is OK for the device or VMC to send it data.

Z2 : FTL Destination Address The destination address of the response as defined in Section 2.6.

Z3 : FTL Source Address (Reader = 10H / 60H) The source address of the response as defined in Section 2.6.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�28

FTL REQ TO SEND (1FH) Z1 Level 03 Readers (if File Transport Layer option enabled)

Z1 : FTL REQ TO SEND The reader is requesting to send data to a device or VMC.

Z2 : FTL Destination Address The destination address of the response as defined in Section 2.6.

Z3 : FTL Source Address (Reader = 10H / 60H) The source address of the response as defined in Section 2.6.

Z4 : FTL File ID The type of information desired as defined in Section 2.6.

Z5 : FTL Maximum Length The total number of blocks in the file as defined in Section 2.6.

Z6 : FTL Control Data transfer control information as defined in Section 2.6.

Diagnostics Response (FFH) Z1

User Defined Data Z2-Zn

Refer to paragraph 7.4.28 for detailed explanation.

7.4.5 VEND - Request Vend (13H / 63H)

Vend Request (00H) Y1

Item Price Y2-Y3

Item Number Y4-Y5

Level 01 / 02 / 03 Readers

Y1 : VEND REQUEST The patron has made a selection. The VMC is requesting vend approval from the payment media reader before dispensing the product.

Y2-Y3 : Item Price - scaled

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�29

The price of the selected product. Y4-Y5 : Item Number

The item number of the selected product. This number is defined by the manufacturer, and set to FFFFh for undefined or not implemented.

Reader response: Vend Approved (05H) Z1

Vend Amount Z2-Z3

Z1 : VEND APPROVED

Allow the selected product to be dispensed. Z2-Z3 :

Vend Amount - scaled This is the amount deducted from the user�s payment media or account. This may not match the amount specified in the VEND REQUEST command; it may be surcharged or discounted. FFFFh - an electronic token was used. NOTE: The VMC must use Vend Amount to update the credit on the

screen. The Reader must fill this field with the used amount for the transaction.

Vend Denied (06H) Z1

Z1 : VEND DENIED Approval denied for the patron�s selection. Do not dispense any products.

Vend (13H / 63H)

Vend Request (00H) Y1

Item Price Y2-Y5

Item Number Y6-Y7

Level 03 (EXPANDED CURRENCY MODE) Readers

Y1 : VEND REQUEST The patron has made a selection. The VMC is requesting vend approval from the payment media reader before dispensing the product.

Y2-Y5 : Item Price � scaled The price of the selected product.

Y6-Y7 : Item Number

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�30

The item number of the selected product. This number is defined by the manufacturer, and set to FFFFh for undefined or not implemented.

Reader Response: Vend Approved (05H) Z1

Vend Amount Z2-Z5

Level 03 (EXPANDED CURRENCY MODE) Readers

Z1 : VEND APPROVED Allow the selected product to be dispensed.

Z2-Z5 :

Vend Amount - scaled This is the amount deducted from the user�s payment media or account. This may not match the amount specified in the VEND REQUEST command; it may be surcharged or discounted. FFFFFFFFh - an electronic token was used. NOTE: The VMC must use Vend Amount to update the credit on the

screen. The Reader must fill this field with the used amount for the transaction.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�31

7.4.6 VEND - Cancel Vend (13H / 63H)

Vend Cancel (01H) Y1

Y1 : VEND CANCEL

This command can be issued by the VMC to cancel a VEND REQUEST command before a VEND APPROVED/DENIED has been sent by the payment media reader. The payment media reader will respond to VEND CANCEL with a VEND DENIED and return to the Session Idle state.

Reader response:

Vend Denied (06H)

Z1 See paragraph 7.4.5 for explanation.

7.4.7 VEND - Success Vend (13H / 63H)

Vend Success (02H) Y1

Item Number Y2-Y3

Y1 : VEND SUCCESS

The selected product has been successfully dispensed. Y2-Y3 : Item number

The item number of the selected product. This number is defined by the manufacturer, and set to FFFFh for undefined or not implemented.

NOTE A reset between VEND APPROVED and VEND SUCCESS shall be interpreted as a VEND SUCCESS.

Reader response: No Data response

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�32

7.4.8 VEND - Failure Vend (13H / 63H)

Vend Failure (03H) Y1

Y1 : VEND FAILURE

A vend has been attempted at the VMC but a problem has been detected and the vend has failed. The product was not dispensed. Funds should be refunded to user�s account.

Reader response: No Data response Vend failure sequence In order to ensure that a reader refunds after a Vend Failure command, the VMC must

send at least a single Poll command to obtain the reader possible answers: ACK Refund Complete MALFUNCTION ERROR code 1100yyyy

Refund error-internal reader credit lost

SILENCE Refund in progress. VMC must repoll reader until ACK or Malfunction error answer for maximum NON Response time.

7.4.9 SESSION COMPLETE Vend (13H / 63H)

Session Complete (04H) Y1

Y1 : SESSION COMPLETE

This tells the payment media reader that the session is complete and to return to the Enabled state. SESSION COMPLETE is part of a command/response sequence that requires an END SESSION response from the reader.

Reader response:

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�33

End Session (07H) Z1

Z1 : END SESSION This command is issued in response to a SESSION COMPLETE command. The END SESSION response indicates the reader has returned to the Enabled state. If �END SESSION� is not received by the VMC within a the maximum application non-response time, the VMC must issue a �RESET� command.

7.4.10 CASH SALE Vend (13H / 63H)

Cash Sale (05H) Y1

Item Price Y2-Y3

Item Number Y4-Y5

Level Y1 :

01 / 02 / 03 Readers CASH SALE A cash sale (cash only or cash and cashless) has been successfully completed by the VMC.

Y2-Y3 : Item Price � scaled The price of the selected product or cash portion of the price.

Y4-Y5 : Item Number The item number of the selected product. This number is defined by the manufacturer, and set to FFFFh for undefined or not implemented.

Note: This command is issued for cash auditing applications and is sent to the payment media reader if the SETUP/CONFIGURATION bit (b3) is enabled anytime a valid cash transaction is completed via a coin mechanism or bill validator. Reader response: No Data response Vend (13H)

Cash Sale (05H) Y1

Item Price Y2-Y5

Item Number Y6-Y7

Item Currency Y8-Y9

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�34

Y1 :

Level 03 (EXPANDED CURRENCY MODE) Readers CASH SALE A cash sale (cash only or cash and cashless) has been successfully completed by the VMC.

Y2-Y5 : Item Price � scaled The price of the selected product or cash portion of the price.

Y6-Y7 : Item Number The item number of the selected product. This number is defined by the manufacturer, and set to FFFFh for undefined or not implemented.

Y8-Y9 : Item Currency The currency for the item price used during the vend. This value may be converted within the reader to the readers balancing currency. The item currency is sent using the numeric code as defined in ISO 4217 (see Appendix A1). The value is configured as packed BCD with the leading digit a 1 (one). For example, the code for the US dollar would be 1840 (Z10 = 18 and Z11 = 40). and for the Euro is 1978 (Z10 = 19 and Z11 = 78).

Note: This command is issued for cash auditing applications and is sent to the payment media reader if the SETUP/CONFIGURATION bit (b3) is enabled anytime a valid cash transaction is completed via a coin mechanism or bill validator. Reader response: No Data response

7.4.11 Negative Vend Request Vend (13H / 63H)

Neg.Vend Request (06H) Y1

Item Value Y2-Y3

Item Number Y4-Y5

Level 03 Reader

Y1 : NEGATIVE VEND REQUEST The patron has inserted an item. The VMC is requesting negative vend approval from the payment media reader before accepting the returned product.

Y2-Y3 : Item value � scaled The value of the inserted product (16 Bit).

Y4-Y5 : Item Number The item number of the inserted product. This number is defined by the

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�35

manufacturer, and set to FFFFh for undefined or not implemented.

Reader response: Vend Approved (05H) Z1

Vend Amount Z2-Z3

Level 03 (EXPANDED CURRENCY MODE disabled) Readers

Z1 : VEND APPROVED Allow the returned product to be accepted, i.e. this means, the reader will be able to credit the value to the patrons card, when a vend success will follow the approved.

Z2-Z3 :

Vend Amount � scaled This is the amount of credit, which will be added to the user�s payment media or account. This may not match the amount specified in the NEGATIVE VEND REQUEST command; it may be surcharged or discounted. FFFFh - an electronic token will be credited.

Vend (13H / 63H)

Neg.Vend Request (06H) Y1

Item Value Y2-Y5

Item Number Y6-Y7

Level 03 (EXPANDED CURRENCY MODE) Readers

Y1 : NEGATIVE VEND REQUEST The patron has inserted an item. The VMC is requesting negative vend approval from the payment media reader before accepting the returned product.

Y2-Y5 : Item value � scaled The value of the inserted product.

Y6-Y7 : Item Number The item number of the inserted product. This number is defined by the manufacturer, and set to FFFFh for undefined or not implemented.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�36

Reader response: Vend Approved (05H) Z1

Vend Amount Z2-Z5

Level 03 (EXPANDED CURRENCY MODE) Readers

Z1 : VEND APPROVED Allow the returned product to be accepted, i.e. this means, the reader will be able to credit the value to the patrons card, when a vend success will follow the approved.

Z2-Z5 :

Vend Amount � scaled This is the amount of credit, which will be added to the user�s payment media or account. This may not match the amount specified in the NEGATIVE VEND REQUEST command; it may be surcharged or discounted. FFFFFFFFh - an electronic token will be credited.

Vend Denied (06H) Z1

Z1 : VEND DENIED Approval denied for the returned product. Do not accept the product or return it if possible.

Note: This command is used in the uninterruptable vend sequence like the normal REQUEST VEND and is followed by the normal responses VEND APPROVED or VEND DENIED, for the reader to confirm the credit update possibility and the final VEND SUCCESS or VEND FAILURE command to update the patron�s credit. Designers of cashless devices must pay special attention in implementing this command, especially for non locking readers. Credit should only be generated on the media upon final reception of VEND SUCCESS to avoid unwanted credit in the system. Designers of both the VMC and the readers have to deal with fault conditions of such a system carefully. A normal sequence description is added to the example vend sessions with hints to different application features.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�37

7.4.12 READER - Disable Reader (14H / 64H)

Disable(00H) Y1

Y1 : READER DISABLE

This informs the payment media reader that it has been disabled, i.e. it should no longer accept a patron�s payment media for the purpose of vending. Vending activities may be re-enabled using the READER ENABLE command. The payment media reader should retain all SETUP information.

NOTE Any transaction in progress will not be affected and should continue to its normal completion.

Reader response: No Data response

7.4.13 READER - Enable Reader (14H / 64H)

Enable (01H) Y1

Y1 : READER ENABLE

This informs the payment media reader that is has been enabled, i.e. it should now accept a patron�s payment media for vending purposes. This command must be issued to a reader in the Disabled state to enable vending operations.

Reader response: No Data response

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�38

7.4.14 READER - Cancel Reader (14H / 64H)

Cancel (02H) Y1

Y1 : READER CANCEL

This command is issued to abort payment media reader activities which occur in the Enabled state. It is the first part of a command/response sequence which requires a CANCELLED response from the reader.

Reader response: Cancelled (08H) Z1

Z1 : CANCELLED This is the reader�s response to the READER CANCEL command from the VMC. This command comprises a command/response sequence. Its use is only appropriate in the Enabled state.

7.4.15 DATA ENTRY � Response (Key Entries) The purpose of the overall Data Entry request / response sequence is to allow the machine user to enter data (i.e., a card validation number) using the selection buttons on the vending machine. The DATA ENTRY request / response sequence can occur in the Enabled state only. It is the responsibility of the reader to enforce this rule. Depending on the type of data being entered, it is a higher level system decision on whether or not the data is displayed on either the vending machine or card reader. If the data is not displayed (a recommendation for certain types of sensitive data) the vending machine or card reader display can still be optionally used to indicate a prompt and/or representation of the data entered for user feedback (i.e., asterisks *****). Please see additional information on the vending machine�s display usage for Data Entry in the DATA ENTRY REQUEST Response (12H) description in the 7.4.4 POLL section. The DATA ENTRY RESPONSE key entries are sent to the reader as they are pressed. Depending on the user�s speed of entry and vending machine controller cycle time, the data may be sent either as a digit at a time, a sub group of digits, or the entire length of digits as specified in the Z2 Data Entry Length byte in the DATA ENTRY REQUEST response. For example, if the Data Entry Length is 6 digits, but only 2 are initially (and quickly) entered, the

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�39

vending machine controller will send the 2 that are available via the DATA ENTRY RESPONSE Y2-Y9 command. The balance will be sent via other DATA ENTRY RESPONSE Y2-Y9 commands when available. It is up to the reader to merge the received DATA ENTRY RESPONSE data and optionally update the display as required. The session is ended after the VMC sends the final DATA ENTRY RESPONSE data (no SESSION COMPLETE command is required). Note that the VMC display will remain available to the reader for the amount of time requested in the previous DISPLAY REQUEST response. If the data entry process is cancelled by the VMC for any reason, the VMC will send the DATA ENTRY RESPONSE with all data bytes (Y2-Y9) set to FFh. This will terminate the DATA ENTRY REQUEST and return the reader to the Enabled state. For ease of command message processing, the Data Entry Data has been fixed at 8 characters (Y2-Y9). Unused bytes must be sent as 00h to pad out the entire command to byte Y9. Reader (14H / 64H)

Data Entry Response (03H) Y1

Data Entry Data Y2-Y9

Level 03 Readers (if option enabled)

Y1 : DATA ENTRY RESPONSE The VMC is providing a DATA ENTRY RESPONSE to the reader.

Y2-Y9 : DATA ENTRY DATA Data should be in ASCII, one character per byte. Data should be left justified (first character / key in Y2, second in Y3, etc.). The number of data bytes must equal eight (8) and unused data bytes must be sent as 00h. If the data entry process is cancelled by the VMC for any reason, the VMC will send this message with all DATA ENTRY data bytes set to FFh. Note: The reader must translate the VMC key information into

the appropriate key needed for the application Reader response: No Data response

Note: If the reader has additional display information to send to the VMC following the DATA ENTRY RESPONSE, it should send it via a DISPLAY REQUEST response to one of the next POLL commands from the VMC.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�40

7.4.16 REVALUE - Request (Level 02 / 03 Readers) Revalue (15H / 65H)

Revalue Request (00H) Y1

Revalue Amount Y2-Y3

Level 02 / 03 Readers

Y1 : REVALUE REQUEST (Level 02 Readers) A balance in the VMC account because coins or bills were accepted or some balance is left after a vend. With this command the VMC tries to transfer the balance to the payment media.

Y2-Y3 : Revalue amount - scaled. The revalue amount should not exceed the revalue limit value given by the command REVALUE LIMIT REQUEST.

Revalue (15H / 65H)

Revalue Request (00H) Y1

Revalue Amount Y2-Y5

Level 03 (EXPANDED CURRENCY MODE) Readers

Y1 : REVALUE REQUEST (Level 03 Readers) A balance in the VMC account because coins or bills were accepted or some balance is left after a vend. With this command the VMC tries to transfer the balance to the payment media.

Y2-Y5 : Revalue Amount - scaled. The revalue amount should not exceed the revalue limit value given by the command REVALUE LIMIT REQUEST.

Reader response: Revalue Approved (0DH) Z1 Level 02 / 03 Readers

Z1 : REVALUE APPROVED (Level 02 / 03 Readers) A balance is in the VMC account because coins or bills were accepted or some balance is left after a vend. The VMC has issued a REVALUE REQUEST to the payment media reader to transfer the balance to the payment media. The payment media reader accepted the request and added its value to the payment media balance. The reader then responds with a REVALUE APPROVED, so the VMC may clear the account.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�41

Revalue Denied (0EH) Z1 Level 02 Readers

Z1 : REVALUE DENIED (Level 02 / 03 Readers) A balance is in the VMC account because coins or bills were accepted or some balance is left after a vend. The VMC has issued a REVALUE REQUEST to the payment media reader to transfer the balance to the payment media. The payment media reader does not accept the request and responds with a REVALUE DENIED, so the VMC has to pay out change. It is a quite common situation if there is no payment media inserted at this moment.

7.4.17 REVALUE - Limit Request (Level 02 / 03 Readers) Revalue (15H / 65H)

Revalue Limit Request (01H) Y1

Level 02 / 03 Readers Note: If revaluing, follow the BEGIN SESSION with this command.

Y1 : REVALUE LIMIT REQUEST (Level 02 Readers) In a configuration with a bill and/or coin acceptor and payment media reader connected to a VMC, the VMC must know the maximum amount the payment media reader eventually will accept by a REVALUE REQUEST. Especially if the bill acceptor accepts a wide range of bills. Otherwise the VMC may be confronted by the situation where it accepted a high value bill and is unable to pay back cash or revalue it to a payment media. (see also below)

Reader response: Revalue Limit Amount (0FH) Z1

Revalue Limit Amount Z2-Z3

Level 02 / 03 (EXPANDED CURRENCY MODE disabled) Readers

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�42

Z1 : REVALUE LIMIT AMOUNT (Level 02 / 03 Readers) The patron intends to revalue the payment media with a bill of some value. The VMC must know what kind of bills to accept, so it will issue a REVALUE LIMIT REQUEST to get the amount the payment media reader will accept. The payment media reader will respond with the scaled value, calculated with the maximum allowed payment media balance minus the current balance of the payment media. The payment media reader responds with REVALUE DENIED if there is no payment media available upon this request.

Z2-Z3 : Revalue limit value - scaled.

Reader response: Revalue Limit Amount (0FH) Z1

Revalue Limit Amount Z2-Z5

Level 03 (EXPANDED CURRENCY MODE) Readers

Z1 : REVALUE LIMIT AMOUNT (Level 03 Readers) The patron intends to revalue the payment media with a bill of some value. The VMC must know what kind of bills to accept, so it will issue a REVALUE LIMIT REQUEST to get the amount the payment media reader will accept. The payment media reader will respond with the scaled value, calculated with the maximum allowed payment media balance minus the current balance of the payment media. The payment media reader responds with REVALUE DENIED if there is no payment media available upon this request.

Z2-Z5 : Revalue Limit Value - scaled.

7.4.18 EXPANSION - Request ID Expansion (17H / 67H)

Request ID (00H) Y1

ManufacturerCode Y2-Y4

Serial Number Y5-Y16

Model Number Y17-Y28

Software Version Y29-Y30

Y1 : REQUEST ID

The VMC is requesting payment media reader identification information. The information included above (Y2-Y30) provides the payment media reader with VMC identification information.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�43

Y2-Y4 : Manufacturer Code - ASCII Identification code for the equipment supplier. Currently defined codes are listed in the EVA document entitled �The Data Transfer Standard EVA-DTS" document, the Audit Data Dictionary section, chapter 4, "Manufacturer Codes".

Y5-Y16 : Serial Number - ASCII Factory assigned serial number.

Y17-Y28 : Model Number - ASCII Manufacturer assigned model number.

Y29-Y30 : Software Version - packed BCD Current software version.

Reader response: Peripheral ID (09H) Z1

Manufacture Code Z2-Z4

Serial Number Z5-Z16

Model Number Z17-Z28

Software Version Z29-Z30

Level 01 / 02 / 03 Readers (If VMC indicates Level 01 or 02) Peripheral ID (09H) Z1

Manufacture Code Z2-Z4

Serial Number Z5-Z16

Model Number Z17-Z28

Software Version Z29-Z30

Optional Feature Bits Z31-Z34

Level 03 Readers (If VMC indicates Level 03)

See paragraph 7.4.4 for a detailed explanation of this response.

7.4.19 EXPANSION - Read User File (Level 02 Readers) Obsolete Command � Do not use for new designs!! (Use EXPANSION - Diagnostics) Expansion (17H / 67H)

Read User File (01H) Y1

Number of User File Y2

Level 02 Readers

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�44

Y1= READ USER FILE

The VMC request�s the user file. The length of the file is variable with a maximum length of 32 bytes. The contents of the data are defined by the VMC manufacturer. If the payment media reader does support this command it will respond with USER FILE DATA.

Y2= Number of User File. The File identification number. The number and size of the data files are defined by the payment media reader manufacturer. The maximum number of user files are FFh.

Reader response: User Data File (10H) Z1

Number of User File Z2

Length of User File Z3

User Data Z4-Zn

Z1 : USER FILE DATA (only level 02 readers)

The VMC requires user data and has issued a EXPANSION - READ USER FILE to the payment media reader.

Z2 : Number of User File. The File identification number. The number and size of data files are defined by the payment media reader manufacturer. The maximum number of user files are FFh.

Z3 : Length of user file The length of the user file. The maximum length of the user file is 32 bytes. If the user file don�t exists the length will be set to 00h.

Z4-Zn : Data defined by the VMC manufacturer.

7.4.20 EXPANSION - Write User File (Level 02 Readers) Obsolete Command � Do not use for new designs!! (Use EXPANSION - Diagnostics) Expansion (17H / 67H)

Write User File (02H) Y1

Number of User File Y2

Length of User File Y3

User Data Y4-Yn

Y1 : WRITE USER FILE

The VMC request�s to write the user file. The length of the file is variable

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�45

with a maximum length of 32 bytes. The contents of the data are defined by the VMC manufacturer. If the command is supported but the payment media reader is unable to write the payment media (writing problem or data too long) it will respond with MALFUNCTION/ERROR.

Y2 : Number of User File. The File identification number. The number and size of data files are defined by the payment media reader manufacturer. The maximum number of user files are FFh.

Y3 : Length of user file The length of the user file. The maximum length of the user file is 32 bytes.

Y4-Yn : Data defined by the VMC manufacturer. Reader response: No Data response

7.4.21 EXPANSION - Write Time/Date File (Level 02/03 readers) Expansion (17H / 67H)

Write Time/ Date File (03H) Y1

Time Date Y2-Y11

Y1 :

WRITE TIME/DATE FILE The VMC requests to write the Time/Date file.

Y2- Y11: Time/Date to synchronize the card reader real time clock. The date bytes are BCD encoded. Y2 = Years (Range: 00..99) Y3 = Months (Range: 01..12) Y4 = Days (Range: 01..31) Y5 = Hours (Range: 00..23) Y6 = Minutes (Range: 00..59) Y7 = Seconds (Range: 00..59) Y8 = Day of Week (Range: 01..07, Monday = 1..Sunday = 7) Y9 = Week Number (Range: 01..53) Y10 = Summertime (Range: 00..01, Summertime = 1) Y11 = Holiday (Range: 00..01, Holiday = 1)

If any item of the time/date is not supported use FFH instead.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�46

7.4.22 EXPANSION � Enable Options (Level 03 readers) Expansion (17H / 67H)

Optional Feature Bit Enable (04H) Y1

Optional Feature Bits Y2-Y5

Level 03 Readers

Y1 :

OPTIONAL FEATURE BIT ENABLE The VMC can enable which level 3 features it desires.

Y2 - Y5: Individual expanded feature bits as sent by reader in response to the 17H-00H EXPANSION REQUEST ID command. To enable a feature, a bit is set to one. Bits should be sent in descending order, i.e. bit 31 is sent first and bit 0 is sent last. All features are disabled after a reset. b0 - File Transport Layer supported b1 - 0 = 16 bit monetary format, 1 = 32 bit monetary format b2 - multi currency / multi lingual b3 - negative vend b4 - data entry b5 to b31 not used (should be set to 0)

Note: If 32 bit monetary format (b1) and or multi currency / multi lingual (b2) options are enabled, this condition will be known as EXPANDED CURRENCY MODE in the rest of the document.

7.4.23 EXPANSION � FTL REQ TO RCV Expansion (17H / 67H)

FTL (FAH) Y1

REQ TO RCV Y2-Y6

Level 03 Readers (if File Transport Layer option enabled) The VMC is requesting to receive data from the reader whose destination address will always be 10H or 60H. Note that all FTL Commands / Responses are defined in Section 2.6.

Y1 : FTL REQ TO RCV The VMC is requesting to receive data from the reader.

Y2 : FTL Destination Address (Reader = 10H / 60H as defined in Section 2.6.

Y3 : FTL Source Address The source address of the command as defined in Section 2.6.

Y4 : FTL File ID The type of information desired as defined in Section 2.6.

Y5 : FTL Maximum Length The total number of blocks in the file as defined in Section 2.6.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�47

Y6 : FTL Control Data transfer control information as defined in Section 2.6.

Reader response: Two responses are possible from the reader, either the SEND BLOCK (1DH) which transmits the initial (or only) part of the data or the RETRY / DENY (1CH). Note that the response can either be immediate or delayed. FTL (1DH) SEND BLOCK Z1

SEND BLOCK Information Z2-Z34

Z1 : 1DH response which indicates SEND BLOCK Z2 : Destination address of data as defined in Section 2.6 Z3 : Block # of data as defined in Section 2.6 Z4-Z34: Data (maximum of 31 bytes)

or FTL (1CH) RETRY / DENY Z1

RETRY / DENY Information Z2-Z4

Z1 : 1CH response which indicates RETRY / DENY Z2 : Destination address of response as defined in Section 2.6 Z3 : Source address of response (10H / 60H) as defined in Section 2.6 Z4 : Retry delay

7.4.24 EXPANSION � FTL RETRY / DENY Expansion (17H)

FTL (FBH) Y1

RETRY / DENY Y2-Y4

Level 03 Readers (if File Transport Layer option enabled) The VMC is retrying, denying, or aborting a data transfer to/from the reader whose destination address will always be 10H or 60H. Note that all FTL Commands / Responses are defined in Section 2.6.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�48

Y1 : FTL RETRY / DENY The VMC is requesting to retry, deny, or abort a data transfer.

Y2 : FTL Destination Address (Reader = 10H / 60H) The destination address of the command as defined in Section 2.6.

Y3 : FTL Source Address The source address of the command as defined in Section 2.6.

Y4 : FTL Retry Delay The time delay required of the sender as defined in Section 2.6.

Reader response: None

7.4.25 EXPANSION � FTL SEND BLOCK Expansion (17H / 67H)

FTL (FCH) Y1

SEND BLOCK Y2-Y34

Level 03 Readers (if File Transport Layer option enabled) The VMC is sending data to the reader whose destination address will always be 10H or 60H. Note that all FTL Commands / Responses are defined in Section 2.6.

Y1 : FTL SEND BLOCK The VMC is requesting to send data.

Y2 : FTL Destination Address (Reader = 10H / 60H) The destination address of the command / data as defined in Section 2.6.

Y3 : FTL Block # The block # of data as defined in Section 2.6

Y4-Y34 FTL Data (maximum of 31 bytes) The actual data block as defined in Section 2.6.

Reader response: None

7.4.26 EXPANSION � FTL OK TO SEND Expansion (17H / 67H)

FTL (FDH) Y1

OK TO SEND Y2-Y3

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�49

Level 03 Readers (if File Transport Layer option enabled) The VMC is indicating that it is OK for the reader to transfer data. The destination address will always be the reader 10H or 60H. Note that all FTL Commands / Responses are defined in Section 2.6.

Y1 : FTL OK TO SEND The VMC is indicating it is OK to send data.

Y2 : FTL Destination Address (Reader = 10H / 60H) The destination address of the command / data as defined in Section 2.6.

Y3 : FTL Source Address The source address of the command as defined in Section 2.6.

Reader response: One response is possible from the reader which transmits the initial (or only) part of the data. Note that the response can either be immediate or delayed. FTL (1DH) SEND BLOCK Z1

SEND BLOCK Information Z2-Z34

Z1 : 1DH response which indicates SEND BLOCK Z2 : Destination address of data as defined in Section 2.6 Z3 : Block # of data as defined in Section 2.6 Z4-Z34: Data (maximum of 31 bytes)

7.4.27 EXPANSION � FTL REQ TO SEND Expansion (17H / 67H)

FTL (FEH) Y1

REQ TO SEND Y2-Y6

Level 03 Readers (if File Transport Layer option enabled) The VMC is requesting to send data to the reader whose destination address will always be 10H or 60H. Note that all FTL Commands / Responses are defined in Section 2.6.

Y1 : FTL REQ TO SEND The VMC is requesting to send data to the reader.

Y2 : FTL Destination Address (Reader = 10H / 60H)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�50

The destination address of the command as defined in Section 2.6. Y3 : FTL Source Address

The source address of the command as defined in Section 2.6. Y4 : FTL File ID

The type of information desired as defined in Section 2.6. Y5 : FTL Maximum Length

The total number of blocks in the file as defined in Section 2.6. Y6 : FTL Control

Data transfer control information as defined in Section 2.6. Reader response: Two responses are possible from the reader, either the OK TO SEND (1EH) which allows the data transfer to start or the RETRY / DENY (1CH). Note that the response can either be immediate or delayed. FTL (1EH) OK TO SEND Z1

OK TO SEND Information Z2-Z3

Z1 : 1EH response which indicates OK TO SEND Z2 : Destination address of response as defined in Section 2.6 Z3 : Source address of response (10H / 60H) as defined in Section 2.6

or FTL (1CH) RETRY / DENY Z1

RETRY / DENY Information Z2-Z4

Z1 : 1CH response which indicates RETRY / DENY Z2 : Destination address of response as defined in Section 2.6 Z3 : Source address of response (10H / 60H) as defined in Section 2.6 Z4 : Retry delay

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�51

7.4.28 EXPANSION - Diagnostics Expansion (17H / 67H)

Diagnostics (FFH) Y1

User Defined Data Y2-Yn

Y1 :

DIAGNOSTICS. Device manufacturer specific instruction for implementing various manufacturing or test modes.

Y2-Yn : User Defined Data. The data portion of this command is defined by the manufacturer and is not part of this document.

Reader response: Diagnostics Response (FFH) Z1

User Defined Z2-Zn

Z1 : DIAGNOSTICS RESPONSE

Z2-Zn : User Defined Data.

The data portion of this response is defined by the manufacturer and is not part of this document.

7.5 Cashless Device Non-Response Time The default maximum non-response time for a cashless device is 5 seconds. This is the maximum time for which a cashless device will not respond to a command or a POLL with ACK, NAK or a message. The �Application Maximum Response Time� reported in byte Z7 of the Reader Configuration Data (7.4.2) supersedes this default value if Z7 is greater.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�52

7.6 Cashless Device Power Requirements The current draw for any cashless device must fall within the following limits. All measurements are at the minimum VMC Voltage Output. Idle mode = 300 mA. (avg.) continuous Transport or Read/Write cycle = 1.5 A @ 50% maximum duty cycle up to 5 seconds.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�53

7.7 Example Vend Sessions

EXAMPLE VEND SESSION #1 (Valid Single Vend)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) POLL ! VEND APPROVED ACK ! VEND SUCCESS ! ACK (Session Idle) SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�54

EXAMPLE VEND SESSION #2 (Valid Multiple Vend)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) POLL ! VEND APPROVED ACK ! VEND SUCCESS ! ACK (Session Idle) VEND REQUEST ! ACK (Vend) POLL ! VEND APPROVED ACK ! VEND SUCCESS ! ACK (Session Idle) SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�55

EXAMPLE VEND SESSION #3 (Session cancelled by user with reader return button)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! User pushes reader RETURN button POLL ! SESSION CANCEL ACK ! SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�56

EXAMPLE VEND SESSION #4a (Session cancelled by user via coin mechanism

escrow return button before product was selected) Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! User pushes coin mech. escrow return SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�57

EXAMPLE VEND SESSION #4b (Session cancelled by user via coin mechanism

escrow return button after product was selected) Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) User pushes coin mech. escrow return CANCEL VEND ! ACK POLL ! VEND DENIED (Session Idle) SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�58

EXAMPLE VEND SESSION #5 (VMC Failure/product not dispensed

Refund positive) Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) Reader deducts purchase price from payment media POLL ! VEND APPROVED VMC fails to dispense product VEND FAILURE ! ACK POLL ! Silence during the

refund operation

POLL ! ACK C SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�59

EXAMPLE VEND SESSION #5A (VMC Failure/product not dispensed

Refund fail) Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) Reader deducts purchase price from payment media POLL ! VEND APPROVED VMC fails to dispense product VEND FAILURE ! ACK POLL ! Silence during the

refund operation

POLL ! MALFUNCTION

ERROR code 1100yyyy=refund fail

(Level 02 / 03)

ACK (Level 01) SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�60

EXAMPLE VEND SESSION #6 (Vend denied by reader)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) Insufficient funds or payment media/account error POLL ! VEND DENIED (Session Idle) VMC makes no attempt to dispense product SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�61

EXAMPLE VEND SESSION #7 (Command Out of Sequence Error)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) EXPANSION ID REQUEST

!

ACK POLL ! COMMAND OUT

OF SEQUENCE (Session Idle)

ACK ! RESET ! {Mandatory} ACK

(Inactive)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�62

EXAMPLE VEND SESSION #8a (Reader busy for longer than max. non response time)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) POLL ! [silence�] (Reader busy) POLLs (numerous) ! [silence�] (continued POLLs w/ no response) POLL ! ACK (restart Non-Response timer) POLLs (numerous) ! [silence�] (continued POLLs w/ no response) POLL ! [silence�] (Reader almost finished) POLL ! VEND APPROVED (Reader ready) ACK ! VEND SUCCESS ! ACK (Session Idle) VEND REQUEST ! ACK (Vend) POLL ! VEND APPROVED ACK ! VEND SUCCESS ! ACK (Session Idle) SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�63

EXAMPLE VEND SESSION #8b (Reader busy for shorter than max. non response time)

Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! VEND REQUEST ! ACK (Vend) POLL ! [silence...] (Reader busy) POLLs (numerous) ! [silence...] (Continued POLLs w/ no response) POLL ! [silence...] (Reader almost finished) POLL ! VEND APPROVED (Reader ready) ACK ! VEND SUCCESS ! ACK (Session Idle) VEND REQUEST ! ACK (Vend) POLL ! VEND APPROVED ACK ! VEND SUCCESS ! ACK (Session Idle) SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled)

NOTE If the peripheral omits to respond within the maximum non-response time, it is considered to be off-line.

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�64

EXAMPLE VEND SESSION #8c (No Response, Reader busy at Vend Request.)

Controller Cashless

Device State/ Comment

POLL ! BEGIN

SESSION

ACK ! VEND REQUEST ! [silence�] Reader busy. The reader may not send

the response within the t-response(max) timeout or hasn�t received the command completely due to line breakdown

VEND REQUEST ! VMC repeats the command: As the VMC isn�t sure, that the slave has received the command free of errors it repeats it. The command itself is not yet performed by the reader as long the ACK hasn�t been sent.

[silence�] Reader busy VEND REQUEST ! ACK (Vend)

The reader will now perform the command. The response isn�t available at the moment, thus the VEND REQUEST is only acked

POLL (numerous) ! VMC polls the reader to obtain the data

in VEND APPROVED ACK The reader may send a ACK or [silence]

to each POLL POLL ! VEND

APPROVED The response to the VEND REQUEST is now available. It must be sent within the time defined by the APPLICATION MAXIMUM RESPONSE TIME. This is measured from the ACK following the VEND REQUEST.

ACK !

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�65

EXAMPLE VEND SESSION #9 (Pre-approved authorization aborted by coin

mechanism escrow return button before BEGIN SESSION) Controller Cashless Device State User swipes payment media (Enabled) POLL ! ACK READER CANCEL ! ACK (If applicable, reader aborts HOST communications, ejects payment

media, etc...) POLL ! CANCELLED

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�66

EXAMPLE VEND SESSION #10

(Single Negative Vend) Controller Cashless Device State POLL ! BEGIN SESSION (Session Idle) ACK ! User inserted a payment media, and inserted then a product, which

was detected valid, or pressed a selection button to identify the desired product which will be inserted later on

NEGATIVE VEND REQUEST

!

ACK (Vend) POLL ! VEND APPROVED The payment reader is able to add the desired value to the credit ACK ! The product is now fully accepted from the machine or the user has

finally finished insertion of a valid product VEND SUCCESS ! ACK (Session Idle) The payment media reader has added the credit SESSION COMPLETE

!

ACK POLL ! END SESSION (Enabled) Normally, can or bottle return-vendors may check the product first, before the patron inserts his card. It is up to the VMC, to delay the negative vend request, until the session idle state is reached. In many return-vendors, from this state, the product is already fully accepted. Therefore, there is no need for the further sequences, this means, vend accepted, vend success will follow each other immediately. If the payment media reader is not able to update the credit, there will be two conditions:

• The return vendor is able to escrow the product after the vend denied. In this case the session complete is sent, the product is return and the credit remains unchanged.

• The return vendor is not able to escrow the product after vend denied. In this case, session complete should be sent and there should be an update credit within the system (VMC), which could be returned by other means (i.e. return coins, tokens, etc).

If a return vendor is able to escrow the product again, this vendor normally accepts the product finally only a vend accepted was sent. In this case there may happen some fault condition which allows no final acceptance of the product. The return vendor then closes the

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�67

session with vend failed instead of vend success, indicating to the reader not to update the system credit, or, if the payment media is no longer present, request re-insertion of the media.

EXAMPLE DATA ENTRY SESSION #1 (Three key Data Entry w/ Prompt & Asterisks for Entries)

Controller Cashless Device State Previously Enabled Enabled POLL ! DATA ENTRY REQUEST +

DISPLAY REQUEST (prompt)

ACK ! User pushes Selection Key 1 DATA ENTRY RESPONSE (Key 1)

!

ACK POLL ! DISPLAY REQUEST (prompt + *) ACK ! User pushes Selection Key 2 DATA ENTRY RESPONSE (Key 2)

!

ACK POLL ! DISPLAY REQUEST (prompt + **) ACK ! User pushes Selection Key 3 DATA ENTRY RESPONSE (Key 3)

!

ACK (Enabled) POLL ! DISPLAY REQUEST (prompt + ***

or �Entry OK�)

ACK ! Note: After Display Request Time

expires, VMC regains control of display

POLL ! BEGIN SESSION (Session Idle)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�68

ACK !

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�69

EXAMPLE DATA ENTRY SESSION #2

(Data Entry with Reader Cancel)

Controller Cashless Device State Previously Enabled Enabled POLL ! DATA ENTRY REQUEST +

DISPLAY REQUEST (prompt)

ACK ! User pushes (valid) Selection Key DATA ENTRY RESPONSE (Key 1)

!

ACK POLL ! DISPLAY REQUEST (prompt + *) ACK ! User pushes (invalid) Selection Key DATA ENTRY RESPONSE (Key 2)

!

ACK POLL ! DATA ENTRY CANCEL ACK ! (Enabled) POLL ! DISPLAY REQUEST (�Error�) ACK ! After Display Request Time expires, VMC regains control of display Note that the above scenario is only an example and it may not be prudent to cancel a session after the first wrong entry. (Someone could fraudulently obtain a password by trying the maximum of selection keys at each position.)

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�70

EXAMPLE DATA ENTRY SESSION #3 (Data Entry with VMC Cancel)

Controller Cashless Device State Previously Enabled Enabled POLL ! DATA ENTRY REQUEST +

DISPLAY REQUEST (prompt)

ACK ! User pushes Selection Key DATA ENTRY RESPONSE (Key 1)

!

ACK POLL ! DISPLAY REQUEST (prompt + *) ACK ! User walks away & VMC times out DATA ENTRY RESPONSE (FF�s)

!

ACK (Enabled) POLL ! DISPLAY REQUEST (�Try Again�) ACK ! After Display Request Time expires, VMC regains control of display

Multi-Drop Bus / Internal Communication Protocol

MDB/ICP Version 3.0 March 26, 2003 7�71

(this page intentionally left blank)