Developers Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 296

DownloadDevelopers Manual
Open PDF In BrowserView PDF
EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt
Developers
Manual

Page 1

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Version History ............................................................................................................................... 7
1. Introduction.............................................................................................................................. 7
2. Concepts ................................................................................................................................. 8
3. System Architecture .............................................................................................................. 12
4. Installation ............................................................................................................................. 14
5. INI file configurations ............................................................................................................. 14
5.1.
EZServer INI file .......................................................................................................... 16
5.2.
EZClient INI file ........................................................................................................... 22
5.3.
EZDriver INI file ........................................................................................................... 22
5.4.
EZLicense INI file ........................................................................................................ 26
5.5.
EZATG INI file ............................................................................................................. 26
6. Developer’s Kit contents ........................................................................................................ 28
6.1.
The EZSim pump simulator ......................................................................................... 28
6.1.1. EZSim INI file .......................................................................................................... 29
6.2.
Sample applications .................................................................................................... 30
6.2.1. EZDemoPos ............................................................................................................ 30
6.2.2. EZClientCSharp ...................................................................................................... 30
6.2.3. EZClientCpp. ........................................................................................................... 30
6.2.4. EZClientDelphi7 / EXClientDelphiXe2. .................................................................... 31
7. API reference ........................................................................................................................ 32
7.1.
API Components ......................................................................................................... 32
7.2.
Data types ................................................................................................................... 33
7.3.
Object based architecture............................................................................................ 35
8. API Definition......................................................................................................................... 36
8.1.
Connection .................................................................................................................. 36
8.1.1. ClientLogon(Ex) ...................................................................................................... 36
8.1.2. DllVersion ................................................................................................................ 38
8.1.3. ServerVersion ......................................................................................................... 39
8.1.4. ClientLogoff ............................................................................................................. 40
8.1.5. ClientStatus............................................................................................................. 41
8.1.6. TestConnection ....................................................................................................... 42
8.1.7. LicenseStatus.......................................................................................................... 43
8.1.8. GetLicenseType ...................................................................................................... 44
8.1.9. GetIniValue ............................................................................................................. 45
8.1.10.
SetIniValue ......................................................................................................... 46
8.1.11.
GetClientsCount ................................................................................................. 47
8.1.12.
SetDateTime ....................................................................................................... 48
8.1.13.
GetDateTime ...................................................................................................... 49
8.1.14.
ResultString ........................................................................................................ 50
8.1.15.
CheckSocketClosed............................................................................................ 51
8.2.
Events ......................................................................................................................... 52
8.2.1. ProcessEvents ........................................................................................................ 52
8.2.2. GetEventsCount ...................................................................................................... 54
8.2.3. GetNextEventType .................................................................................................. 55
8.2.4. DiscardNextEvent ................................................................................................... 56
8.2.5. GetNextPumpEvent(Ex, Ex2, Ex3) / StatusEvent ................................................... 57
8.2.6. GetNextDeliveryEvent(Ex, Ex2, Ex3, Ex4) / DeliveryEvent ..................................... 61
8.2.7. GetNextServerEvent / ServerEvent......................................................................... 64
8.2.8. GetNextClientEvent/ClientEvent ............................................................................. 65
8.2.9. FireClientEvent........................................................................................................ 66
8.2.10.
GetNextDBLogEvent/DBLogEvent ..................................................................... 67

Page 2

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.11.
GetNextDBLogDeliveryEvent / DBLogDeliveryEvent .......................................... 68
8.2.12.
GetNextDBClearDeliveryEvent / DBClearDeliveryEvent..................................... 70
8.2.13.
GetNextDBStackDeliveryEvent / DBStackDeliveryEvent .................................... 71
8.2.14.
GetNextDBHoseETotalsEvent(Ex) / DBHoseETotalsEvent(Ex) ......................... 72
8.2.15.
GetNextDBTriggerEvent/DBTriggerEvent ........................................................... 74
8.2.16.
GetNextDBAttendantLogonEvent / DBAttendantLogonEvent ............................. 75
8.2.17.
GetNextDBAttendantLogoffEvent / DBAttendantLogonEvent ............................. 76
8.2.18.
GetNextDBTankStatusEvent(Ex,Ex2) / DBTankStatusEvent(Ex,Ex2) ................ 77
8.2.19.
GetNextCardReadEvent / CardReadEvent ......................................................... 79
8.2.20.
GetNextLogEventEvent/LogEventEvent ............................................................. 80
8.2.21.
GetNextZeroDeliveryEvent ................................................................................. 82
8.2.22.
GetNextZB2GStatusEvent .................................................................................. 83
8.3.
Pumps ......................................................................................................................... 84
8.3.1. GetPumpsCount...................................................................................................... 84
8.3.2. GetPumpByName ................................................................................................... 85
8.3.3. GetPumpByNumber ................................................................................................ 86
8.3.4. GetPumpByOrdinal ................................................................................................. 87
8.3.5. GetPumpProperties(Ex) .......................................................................................... 88
8.3.6. SetPumpProperties(Ex) .......................................................................................... 91
8.3.7. DeletePump ............................................................................................................ 93
8.3.8. GetPumpHosesCount/GetHosesCount ................................................................... 94
8.3.9. GetPumpHoseByNumber/GetHoseByNumber ........................................................ 95
8.3.10.
GetPumpStatus(Ex, Ex2) .................................................................................... 96
8.3.11.
PumpStateString ................................................................................................. 98
8.3.12.
EnablePump ....................................................................................................... 99
8.3.13.
DisablePump .................................................................................................... 100
8.3.14.
SetPumpDefaultPriceLevel ............................................................................... 101
8.3.15.
GetDensity ........................................................................................................ 102
8.3.16.
ScheduleBeep .................................................................................................. 103
8.3.17.
FlashLEDS........................................................................................................ 104
8.4.
Pump prepay deliveries ............................................................................................. 105
8.4.1. PrepayReserve ..................................................................................................... 105
8.4.2. PrepayCancel........................................................................................................ 107
8.4.3. PrepayAuthorise.................................................................................................... 108
8.5.
Pump preauth deliveries ............................................................................................ 110
8.5.1. PreauthReserve .................................................................................................... 110
8.5.2. PreauthCancel ...................................................................................................... 112
8.5.3. PreauthAuthorise .................................................................................................. 113
8.6.
Pump payment deliveries .......................................................................................... 115
8.6.1. PaymentReserve................................................................................................... 115
8.6.2. PaymentCancel ..................................................................................................... 117
8.6.3. PaymentAuthorise ................................................................................................. 118
8.7.
Pump authorization ................................................................................................... 120
8.7.1. AttendantAuthorise................................................................................................ 120
8.7.2. Authorise ............................................................................................................... 121
8.7.3. CancelAuthorise .................................................................................................... 122
8.7.4. TempStop ............................................................................................................. 123
8.7.5. TerminateDelivery ................................................................................................. 124
8.7.6. ReAuthorise .......................................................................................................... 125
8.7.7. LoadPreset ............................................................................................................ 126
8.7.8. TagAuthorise ......................................................................................................... 128
8.7.9. LoadPresetWithPrice ............................................................................................ 130
8.8.
Global functions......................................................................................................... 132
8.8.1. AllStop................................................................................................................... 132

Page 3

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.8.2. AllStopIfIdle ........................................................................................................... 133
8.8.3. AllAuthorise ........................................................................................................... 134
8.8.4. AllReAuthorise ...................................................................................................... 135
8.8.5. GetAllPumpStatuses ............................................................................................. 136
8.8.6. ReadAllTanks ........................................................................................................ 137
8.9.
Deliveries................................................................................................................... 138
8.9.1. GetDeliveriesCount ............................................................................................... 138
8.9.2. GetDeliveryByOrdinal............................................................................................ 139
8.9.3. GetDeliveryProperties(Ex, Ex2, Ex3, Ex4) ............................................................ 140
8.9.4. SetDeliveryProperties(Ex, Ex2, Ex3, Ex4) ............................................................ 142
8.9.5. LockDelivery.......................................................................................................... 145
8.9.6. UnlockDelivery ...................................................................................................... 146
8.9.7. ClearDelivery......................................................................................................... 147
8.9.8. LockAndClearDelivery........................................................................................... 148
8.9.9. SetNextDeliveryID ................................................................................................. 150
8.9.10.
AckDeliveryDBlog ............................................................................................. 151
8.9.11.
GetDeliveryIDByOrdinalNotLogged .................................................................. 152
8.9.12.
GetDeliveriesCountNotLogged ......................................................................... 153
8.9.13.
AckDeliveryVolLog ............................................................................................ 154
8.9.14.
GetDeliveryIDByOrdinalNotVolLogged ............................................................. 155
8.9.15.
GetDeliveriesCountNotVolLogged .................................................................... 156
8.9.16.
GetAllDeliveriesCount ....................................................................................... 157
8.9.17.
GetAllDeliveryByOrdinal ................................................................................... 158
8.9.18.
GetDeliverySummary(Ex, Ex2, Ex3) ................................................................. 159
8.9.19.
GetDeliveryExt .................................................................................................. 162
8.9.20.
SetDeliveryExt .................................................................................................. 163
8.9.21.
GetPumpDeliveryProperties(Ex, Ex2, Ex3, Ex4) .............................................. 164
8.9.22.
ReserveTypeString ........................................................................................... 166
8.9.23.
GetDuration ...................................................................................................... 167
8.9.24.
StackCurrentDelivery ........................................................................................ 168
8.9.25.
DeliveryTypeString............................................................................................ 169
8.9.26.
DeliveryStateString ........................................................................................... 170
8.10.
Hoses ........................................................................................................................ 172
8.10.1.
GetHosesCount ................................................................................................ 172
8.10.2.
GetHoseByOrdinal ............................................................................................ 173
8.10.3.
GetHoseProperties(Ex, Ex2) ............................................................................. 174
8.10.4.
SetHoseProperties(Ex, Ex2) ............................................................................. 176
8.10.5.
DeleteHose ....................................................................................................... 178
8.10.6.
GetHosePrices.................................................................................................. 179
8.10.7.
GetHoseSummary(Ex) ...................................................................................... 180
8.10.8.
SetHoseETotals ................................................................................................ 182
8.10.9.
SetHosePrices .................................................................................................. 183
8.11.
Grades....................................................................................................................... 185
8.11.1.
GetGradesCount ............................................................................................... 185
8.11.2.
GetGradeByNumber ......................................................................................... 186
8.11.3.
GetGradeByName ............................................................................................ 187
8.11.4.
GetGradeByOrdinal .......................................................................................... 188
8.11.5.
GetGradeProperties(Ex) ................................................................................... 189
8.11.6.
SetGradeProperties(Ex).................................................................................... 190
8.11.7.
DeleteGrade ..................................................................................................... 191
8.11.8.
SetGradePrice .................................................................................................. 192
8.11.9.
GetGradePrice .................................................................................................. 193
8.12.
Tanks......................................................................................................................... 194
8.12.1.
GetTanksCount ................................................................................................. 194

Page 4

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.12.2.
GetTankByNumber ........................................................................................... 195
8.12.3.
GetTankByName .............................................................................................. 196
8.12.4.
GetTankByOrdinal ............................................................................................ 197
8.12.5.
GetTankProperties(Ex) ..................................................................................... 198
8.12.6.
SetTankProperties(Ex)...................................................................................... 200
8.12.7.
DeleteTank ....................................................................................................... 202
8.12.8.
GetTankSummary(Ex) ...................................................................................... 203
8.13.
Ports .......................................................................................................................... 205
8.13.1.
GetPortsCount .................................................................................................. 205
8.13.2.
GetPortByNumber............................................................................................. 206
8.13.3.
GetPortByName ................................................................................................ 207
8.13.4.
GetPortByOrdinal .............................................................................................. 208
8.13.5.
GetPortProperties ............................................................................................. 209
8.13.6.
SetPortProperties ............................................................................................. 210
8.13.7.
RemovePort ...................................................................................................... 212
8.13.8.
GetZB2GConfig ................................................................................................ 213
8.13.9.
GetSerialNo ...................................................................................................... 214
8.13.10.
GetDeviceDetails .............................................................................................. 215
8.13.11.
ResetDevice ..................................................................................................... 216
8.13.12.
RequestVersion ................................................................................................ 217
8.14.
Attendants ................................................................................................................. 218
8.14.1.
GetAttendantsCount ......................................................................................... 218
8.14.2.
GetAttendantByNumber .................................................................................... 219
8.14.3.
GetAttendantByName ....................................................................................... 220
8.14.4.
GetAttendantByOrdinal ..................................................................................... 221
8.14.5.
GetAttendantProperties(Ex) .............................................................................. 222
8.14.6.
SetAttendantProperties(Ex) .............................................................................. 223
8.14.7.
DeleteAttendant ................................................................................................ 225
8.14.8.
AttendantLogon ................................................................................................ 226
8.14.9.
AttendantLogoff ................................................................................................ 227
8.14.10.
GetAttendantState ............................................................................................ 228
8.15.
Card Clients............................................................................................................... 229
8.15.1.
GetCardClientsCount ........................................................................................ 229
8.15.2.
GetCardClientByNumber .................................................................................. 230
8.15.3.
GetCardClientByName ..................................................................................... 231
8.15.4.
GetCardClientByOrdinal ................................................................................... 233
8.15.5.
GetCardClientProperties(Ex,Ex2) ..................................................................... 234
8.15.6.
SetCardClientProperties(Ex, Ex2) .................................................................... 236
8.15.7.
DeleteCardClient .............................................................................................. 238
8.16.
Card Reads ............................................................................................................... 239
8.16.1.
GetCardReadsCount ........................................................................................ 239
8.16.2.
GetCardReadByNumber ................................................................................... 240
8.16.3.
GetCardReadByOrdinal .................................................................................... 241
8.16.4.
GetCardReadByName ...................................................................................... 242
8.16.5.
GetCardReadProperties ................................................................................... 243
8.16.6.
SetCardReadProperties .................................................................................... 244
8.16.7.
DeleteCardRead ............................................................................................... 245
8.16.8.
GetCardType .................................................................................................... 246
8.17.
ZigBee devices .......................................................................................................... 247
8.17.1.
GetZigBeeCount ............................................................................................... 247
8.17.2.
GetZigBeeByNumber ........................................................................................ 248
8.17.3.
GetZigBeeByName ........................................................................................... 249
8.17.4.
GetZigBeeByOrdinal ......................................................................................... 250
8.17.5.
GetZigBeeProperties ........................................................................................ 251

Page 5

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.17.6.
SetZigBeeProperties ......................................................................................... 252
8.17.7.
DeleteZigBee .................................................................................................... 253
8.18.
Sensors ..................................................................................................................... 254
8.18.1.
GetSensorsCount ............................................................................................. 254
8.18.2.
GetSensorByNumber ........................................................................................ 255
8.18.3.
GetSensorByName ........................................................................................... 256
8.18.4.
GetSensorByOrdinal ......................................................................................... 257
8.18.5.
GetSensorProperties ........................................................................................ 258
8.18.6.
SetSensorProperties ......................................................................................... 259
8.18.7.
GetSensorStatus .............................................................................................. 260
8.18.8.
SetSensorStatus ............................................................................................... 261
8.18.9.
DeleteSensor .................................................................................................... 262
8.19.
Logged events ........................................................................................................... 263
8.19.1.
GetLogEventCount ........................................................................................... 263
8.19.2.
GetLogEventByOrdinal ..................................................................................... 265
8.19.3.
GetLogEventProperies...................................................................................... 266
8.19.4.
SetLogEventProperties ..................................................................................... 268
8.19.5.
DeleteLogEvent ................................................................................................ 270
8.19.6.
ClearLogEvent .................................................................................................. 271
8.19.7.
AckLogEvent..................................................................................................... 272
9. Appendices.......................................................................................................................... 273
9.1.
Appendix 1 – Pump states......................................................................................... 273
9.2.
Appendix 2 – Pump reserves types ........................................................................... 275
9.3.
Appendix 3 – Delivery types ...................................................................................... 276
9.4.
Appendix 4 – Delivery states ..................................................................................... 277
9.5.
Appendix 5 – Event types .......................................................................................... 278
9.6.
Appendix 6 – Pump display formats .......................................................................... 280
9.7.
Appendix 7 – Pump authorization modes .................................................................. 281
9.8.
Appendix 8 – Pump delivery stack (memory) modes ................................................ 282
9.9.
Appendix 9 – Pump limit types .................................................................................. 282
9.10.
Appendix 10 – Permitted hoses mask ....................................................................... 282
9.11.
Appendix 11 – Device Types ..................................................................................... 283
9.12.
Appendix 12 – Tank Types ........................................................................................ 283
9.13.
Appendix 13 – Error messages ................................................................................. 284
9.14.
Appendix 14 – Client event types .............................................................................. 288
9.15.
Appendix 15 – Client type.......................................................................................... 288
9.16.
Appendix 16 – Remote device type ........................................................................... 289
9.17.
Appendix 17 – Price Control ...................................................................................... 289
9.18.
Appendix 18 – Price Type ......................................................................................... 290
9.19.
Appendix 19 – Price Duration Type ........................................................................... 290
9.20.
Appendix 20 – Log Event Device Type ..................................................................... 291
9.21.
Appendix 21 – Log Event Level ................................................................................. 291
9.22.
Appendix 22 – Log Event Type ................................................................................. 292
9.23.
Appendix 23 – Tank State ......................................................................................... 294
9.24.
Appendix 24 – Attendant Type .................................................................................. 294
9.25.
Appendix 24 – Alarms Mask ...................................................................................... 295
9.26.
Appendix 26 – Card Read Types .............................................................................. 295
9.27.
Appendix 27 – Card Types ........................................................................................ 296
9.28.
Appendix 28 – Entry Types ....................................................................................... 296

Page 6

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Version History
Version 1.0.0.0 ………………………………………………………………………....... August 2005
Version 1.2.0.0 …………................................................................................... November 2005
Version 1.3.0.0 ………….…………………………………………………………………… July 2006
Version 2.1.0.0 ………….…………………………………………………………………… May 2013
Version 2.3.0.0…………….…………………………………………………………….…....May 2016
Version 2.3.0.1 …………….…………………………………………………………..….August 2016

1. Introduction
The EZForecourt product is a forecourt controller designed to work in conjunction with third party
windows XP/7/8 based POS systems, and possesses the following characteristics.

USB interface.
It utilizes a simple and small, USB based, forecourt interface module (EZMod) to easily connect a
windows XP/2000 based server to common gas station forecourt devices. The use of the USB
standard does away with the need to install any additional proprietary hardware in the host
server.

Self-reliant device.
The EZMod module is a self-powered USB device which has the ability to buffer up to 2950
deliveries if the connection to the host is lost, hence providing redundancy and independence
from the server.

Generic high level interface.
It can control and manage many common types and makes of Petrol pumps in a transparent
fashion, all the host application sees is a generic pump device.

Electronic tank gauge support.
It also interfaces to many different types and makes of electronic tank gauges, providing a
generic and simple interface for both alarms and tank statistics.

ActiveX .NET and DLL client interfaces.
The interface between EZForecourt and the host system/application is done via two ActiveX
controls, EZClient.SO.1 and a .NET package EZTech.dll which contains EZTech.EZClient and
EZTech.EZPump, or a standard windows a DLL, EZClient.DLL. Which of the three options is
utilized will depend on the capabilities and requirements of the host system.

TCP/IP client server interface.
The interface between the EZForecourt server and client applications is done via TCP/IP sockets,
hence the clients and the server need not be running on the same physical machine, but can be
anywhere on the same local TCP/IP based network.
.

Page 7

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

2. Concepts
Prior to starting an integration of EZForecourt, it is necessary that a few of the basic concepts be
clarified, to ensure that the more technical information be interpreted correctly. The following
terms will be used many times in the API and data base sections later on in this document.

Post-pay delivery
Deliveries on a forecourt generally follow the Post pay sequence of events, the hose is pulled on
the pump and the pump is either authorized automatically or manually by a shop or forecourt
attendant. When the delivery is completed the customer either pays the attendant for the delivery
or pays for it in the shop. This is referred to as a post pay delivery, i.e. a delivery that is paid for
after it is taken.

Prepay delivery
An alternative to paying for the delivery after it is taken is paying for it before. In this case the
customer goes into the shop, pays a predetermined amount for fuel on a specified pump, this is
usually an estimate on behalf of the customer, who then goes back to his car and takes the
delivery. When the hose is pulled from the specified pump, it is automatically authorized to
delivery up to the prepaid amount. If the delivery is terminated prior to the limit being reached, a
refund for the difference is automatically generated and the customer is then required to return to
the shop to collect the refund. If however there is no refund the customer is free to leave when
the hose is returned.

Preauth delivery
These days many systems give the customer the option of paying for the fuel delivery at the
pump, to do this, the pump must be fitted with a card terminal. The sequence of events in this
situation is, the customer passes their card thru the card terminal on the respective pump, and
then the card terminal starts a pre-authorization with the respective bank. Once this preauthorization is granted, the pump is authorized to delivery up to the limit returned with the preauthorization response. When the customer has completed the delivery the actual value of the
delivery is sent as part of a pre-authorization advice message billing the customer’s card with the
correct value. This is known as a preauth delivery.

Drive off delivery
Unfortunately there are also customers, who take a delivery at a pump and leave without paying,
this only occurs in post pay environments. These are politely referred to as drive off deliveries.

Test delivery
At times it is necessary for the various certification authorities to carry out tests on the pumps to
verify that their volume measurement conforms to the relevant regulations. When these deliveries
are completed the fuel is returned manually returned to the tank from which it came. These
deliveries must be treated differently and are referred to as test deliveries.

Monitor deliveries
In a lot of countries gas station forecourts are run fully attended and the customer does not even
have to exit the car to fill up the tank. A forecourt attendant takes the delivery on behalf of the
customer and the customer pays the attendant directly after the delivery is completed. In this
mode the forecourt controller is in essence only monitoring the forecourt activity, and is usually

Page 8

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

used to prevent fraud or theft by the forecourt attendants. These deliveries are referred to as
monitor deliveries.

Offline deliveries
At times the communications with the pumps are lost; this could be because the pumps are
turned off, switched into local mode or because of technical faults. When the pumps are returned
to normal function and communications are re-established, an offline delivery is generated which
is the sum of all of the deliveries which were done while the pump was offline. This total is
difference between the last known electronic totals before it stopped responding and the
electronic totals retrieved immediately after the pump started to respond. The purpose of this
delivery type is to ensure that the electronic and theoretical totals still tally.

Temp stop
Pump deliveries can be controlled remotely via EZForecourt, imagine a situation where someone
is smoking near a pump, and due to safety reasons it is necessary to stop the fuel delivery, this is
called a ‘Temp stop’. A temp stop remains in place until the pump is re-authorized manually via
EZForecourt. All of the pumps can be stopped in single operation; this is called an ‘All Stop’, and
can be reversed by an ‘All Re-authorize’.

Pump authorize
EZForecourt permits pumps to run in several authorization modes, the first and most simple is
auto authorize. In this mode the pump will start delivering, without intervention, when the hose is
pulled. When EZForecourt is running in monitor mode the pumps are also auto authorize. The
other mode is compulsory authorize, in this mode when the hose is pulled, the pump will call for
authorization, it will only start delivering when a forecourt or shop attendant manually authorizes
the pump. If a limit is placed on the number of unpaid deliveries, auto authorize pumps will not
automatically authorize, if this limit has been reached. One or more of the unpaid deliveries will
need to be processed first. This does not however apply to monitor mode.

Electronic totals
Most pump types keep electronic totals in non-volatile memory; these totals are accumulative
totals of both volume and value, for each of the hoses on the pump. These totals are zeroed
when the pump is installed or when the pump electronics are reset. These totals (when present)
are interrogated remotely by EZForecourt and are continually monitored to determine if deliveries
are lost etc.

Mechanical totals
Most pump types also have mechanical totals for both volume and value for each hose present
on the pump. Unlike the electronic totals these cannot be reset, or interrogated remotely.
EZForecourt permits the manual entry of these totals. This is yet another total to be reconciled
against the EZForecourt totals.

Theoretical totals
Besides the mechanical and electronic totals maintained by the pumps, EZForecourt also
maintains a theoretical total for both value and volume for each of the hoses configured. This is
maintained by simply accumulating the individual delivery totals as they are completed.
Reconciling the theoretical, electronic and mechanical totals is ones best defense against theft or
fraud.

Price level
Most modern pump types today support more than one price per grade, this was originally
intended to be used in credit or cash situations, however it can also be used for full vs. selfservice etc. Even though most pumps do not display both prices on the pump displays, they are

Page 9

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

saved internally and can be changed and selected remotely. EZForecourt supports multiple
prices per grade and up to two prices per hose.
It is assumed that the reader is familiar with windows XP/2000 and general programming
concepts and as such there is no explanation of this here.

Page 10

EZForecourt Developers Manual

Version 2.3.0.1

Page 11

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

3. System Architecture

Page 12

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The EZForecourt system architecture is as
follows:

EZClient application

EZClient.DLL

EZForecourt server

EZServer
windows
XP/2000 service

EZClient.SO.1 or
EZTech.EZClient

EZServer
driver
process
EZServer
driver
process
EZServer
driver
process

EZForecourt
USB driver
EZForecourt
USB driver
EZForecourt
USB driver

EZTech.EZPump

EZTech.EZPump

EZTech.EZPump

USB
cables

EZTech.EZPump

EZForecourt Interface module(EZMod)

Page 13

EZForecourt Interface module(EZMod)

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

As can be seen from the diagram above, EZForecourt supports more than one EZMod module.
This may be required if there is more than eight physical pumps or a mixture of pump types
(different manufacturers) that cannot be hosted on the same EZMod module.
It also clearly demonstrates how the optional back office and database fit into the overall
structure. If the integrator decides to use their own existing back office or develop a new one,
then a similar structure will be required.
It may not be evident here but the links between the BackOffice and EZServer are also via the
EZClient.DLL, and in the interests of speed and data integrity it is a requirement that the
BackOffice and EZServer be hosted on the same machine. Other EZClients (POSes etc.) do not
need to be on the same machine, but can be anywhere on the same TCP/IP network.

4. Installation
For a detailed description of how to install the EZForecourt product refer to the EZForecourt
Installers Manual.

5. INI file configurations
Each of the EZForecourt software components is individually configured with a windows
format INI file. These INI files all follow a standard format and are easily edited using the
EZIniEditor utility provided. These INI files are installed per-configured and should only be
edited under the direct instructions of EZTech support.
All of these INI files are located in the \EZForecourt directory. To edit an INI file simply open
up a command window, change to the EZForecourt directory and then type EZIniEditor
followed by the name of the INI file (with or without the INI extension). This will result in a
screen similar to the following being presented:

Page 14

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

If the INI file was located successfully, the name of the INI file will be displayed with a plus
symbol beside the full file name, clicking the plus symbol will expand it to show all of the
sections contain in the INI file. Clicking the plus symbol beside each of the sections will
expand it to show all of the individual configuration parameters.
The value for the currently highlighted configuration parameter is displayed in the text box at
the bottom of the window. To change the currently selected configuration value, simply edit it
in the text box, saving is done automatically when a different configuration parameter is
selected or the application is exited by clicking the OK button.
There are some sections and configuration values which are common to all of the
EZForecourt INI files these are as follows.

Section
[Application]

Parameter
Name

[Server]

IniVersion
Name

Description
The name of the application to which this
INI file applies.
The version number for this INI file
The machine name of the machine hosting
the EZServer service, if the service is on
the same machine then the value 
can be used.
The TCP/IP port number that is used by
EZClients to access the server. This

CallPort

Page 15

EZForecourt Developers Manual

Version 2.3.0.1

number must be the same for all EZClients
and the EZServer.
The TCP/IP port number that is used by
the EZClients to receive events. This
number must be the same for all of the
EZClients and the EZServer.
The timeout value in milliseconds for
clients when calling the server, if the
server does not respond within this time
the call will return with a
SERVER_TIMEOUT result.
A 0 or 1 (0=no,1=yes) flag used to
determine if diagnostic information is sent
to the screen, this is only of use when
running the server in debug mode and is
reserved for internal EZTech use.
A 0 or 1 (0=no, 1=yes) flag used to
determine if diagnostic information is sent
to a log file. By default this is 1 and should
be left that way, unless instructed to
change it by EZTech. Diagnosing faults is
considerably more difficult if this flag is
turned off.
A 0 or 1 (0=no, 1=yes) flag used to
determine if diagnostic information is sent
to a TCP/IP socket. This feature is
currently unsupported, but is reserved for
future use.

EventsPort

CallTimeout

[Log]

Screen

File

Socket

5.1.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZServer INI file

The EZServer INI file contains all of the configurable parameters for the EZServer
service. This INI file contains the standard parameters listed above along with the specific
parameters listed below.

Section
[Parameters]

Parameter
ManualAuthedTimeout

Type
Numeric,
Seconds

TagAuthedTimeout

Numeric,
Seconds

PrepayAuthedTimeout

Numeric

Page 16

Description
The amount of time, in
seconds, that a compulsory
authorized pump will remain
authorized after manual
authorization.
The amount of time, in
seconds, that an EZID
authorized pump will remain
authorized after Mifare card
is read authorization.
The amount of time, in
seconds, that a pump will
remain authorized for a
prepay delivery, before a
prepay refund is

EZForecourt Developers Manual

Version 2.3.0.1

PreauthAuthedTimeout

Numeric

PrepayReservedTimeout

Numeric

PreauthReservedTimeout

Numeric

MonitorDeliveryTimeout

Numeric

DeliveryDriveoffTimeout

Numeric

PrepayRefundTimeout

Numeric

Page 17

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

automatically generated. It
the pump starts to deliver
before this time is up it will
be treated as a prepay
delivery.
The amount of time, in
seconds, that a pump will
remain authorized for a
preauth delivery, before the
preauth reserve is
automatically removed. It the
pump starts to deliver before
this time is up it will be
treated as a preauth
delivery.
The amount of time, in
seconds, that a pump will
remain reserved for a prepay
delivery before the prepay
reserve is automatically
removed. If the pump is
prepay authorized before
this time is up, it will change
to the prepay authorized
state.
The amount of time, in
seconds, that a pump will
remain reserved for a
preauth delivery before the
preauth reserve is
automatically removed. It the
pump is preauth authorized
before this time is up, it will
change to the preauth
authorized state.
The amount of time, in
seconds, that a Post-pay
delivery will remain on a
pump, configured in monitor
mode, before it is cleared
automatically as a monitor
delivery. It can be taken as a
Post-pay delivery prior to
timing out.
The amount of time, in
seconds, that a Post-pay
delivery can remain on a
pump until it is flagged as a
potential drive off delivery.
The amount of time, in
seconds, that a prepay
refund remains on a pump
before it is automatically

EZForecourt Developers Manual

Version 2.3.0.1

DeliveringTimeout

Numeric

HoseOutTimeout

Numeric

LeaveAuthedTimeout

Numeric

NotRespondingTimeout

Numeric

MinimumPresetValue

Numeric

MinimumDeliveryValue

Numeric

MinimumDeliveryVolume

Numeric

MaxStackSize

Numeric

AutoClearOffline

Numeric

Page 18

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

cleared from the pump. If
this delivery is cleared
manually prior to this timeout
expiring, the pump will
remain locked out for the
remainder of this timeout.
The amount of time, in
seconds, that a delivering
pump can remain delivering
before a warning is
generated.
The amount of time, in
seconds, that a pump hose
can be left out, not
delivering, before a warning
is generated.
The time in seconds to leave
a pump in the authorized
state before canceling it.
The maximum time in
seconds that a pump can
stop and start responding
without being initialized.
The minimum value
accepted by the server for a
preset, prepay or preauth
delivery.
The minimum delivery value
accepted by the server for a
valid delivery, deliveries with
values smaller than this are
discarded.
The minimum delivery
volume accepted by the
server for a valid delivery,
deliveries with volumes
smaller than this are
discarded.
The maximum number of
unpaid deliveries permitted
on a pump before the server
will stop authorizing the
pump. If the server is in
standalone mode, or the
pumps are in monitor mode,
this limit is ignored.
A yes or no value, that
determines whether offline
deliveries are automatically
cleared by the server, or
must be taken manually as a
Post-pay delivery like any
other.

EZForecourt Developers Manual

Version 2.3.0.1
MinOfflineDeliveryVolume

Numeric

MaxOfflineDeliveryVolume

Numeric

Standalone

Boolean

NonVolObjects

Boolean

NonVolTotals

Boolean

LogDeliveries

Boolean

MaxDeliveryVolumeDiff

Numeric

MaxDeliveryValueDiff

Numeric

MinimalPumpEvents

Boolean

Page 19

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The minimum volume for an
offline delivery, if an offline
delivery is detected with less
than this volume, it is
ignored.
The maximum volume for an
offline delivery, if an offline
delivery very is detected with
more than this it is ignored.
This is used to discard
offline deliveries generated
when used pumps are first
connected to the system.
A yes or no value to
determine if the forecourt
interface modules are
allowed authorize pumps
and buffer deliveries when
the server is not running.
This is only of use in a pump
monitoring environments,
and hence is of little use in a
self-service situation.
A yes or no value to
determine if the objects in
the EZServer are nonvolatile or not.
A yes or no value to
determine if the hose
electronic totals and tank
gauge values are saved to
the non-vol store or not, it is
recommended that it be yes.
A yes or no value to
determine if the individual
deliveries are logged to a
separate log file.
The maximum delivery
volume difference between
the reported delivery volume
and the volume electronic
totals difference before an
offline delivery is generated.
The maximum delivery value
difference between the
reported delivery value and
the value electronic totals
difference before an offline
delivery is generated.
If set to yes this suppresses
various pump events
including running total
events. This should be no.

EZForecourt Developers Manual

Version 2.3.0.1
ExtendedDeliveryProperties

Boolean

RunningTotalRate

Numeric

ConfirmDeliveryLog

Boolean

MinimumKeepDeliveries

Numeric

ForceDeliveryLock

Boolean

VolumetricDLL

String

ZigBeePanID

Numeric

GetDeliveryTimeout

Numeric

GetETotalsTimeout

Numeric

DelMinimumDuration

Numeric

TagAuthType

Numeric

Page 20

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

A flag to determine if the
DeliveryEvent or
DeliveryEventEx event is
generated.
The minimum running total
update rate for pumps in
milliseconds.
Set this to Yes if you want to
use EZLogger of equivalent
to extract all of the cleared
deliveries to a database etc.
The minimum number of
cleared deliveries that are
retrained in the EZserver
database, these can be seen
in the EZMonitor deliveries
history.
Set to true to force the
server to re-fire pump calling
status event every 10
seconds.
The full path and file name
for the DLL used to do the
volumetric logging.
The PAN ID used for the
ZigBee network.
The time in seconds that the
EZServer waits after the
pump has finished delivering
for the EZRemotes to log the
delivery.
The time in seconds the
EZServer waits for the
EZRemote waits for the
EZRemote to log the e-totals
after the delivery has been
logged.
The minimum time in
seconds that a pump must
be in the delivering state to
be considered a valid
delivery.
The type of tag
authorization.
0 - Authorizes one fueling
point only, and can be
authorized prior to pulling
the hose for
TagAuthedTimeout seconds.
1 – Authorizes one fueling
point only, and only if the
hose is already pulled.
2 – Authorizes up to two

EZForecourt Developers Manual

Version 2.3.0.1

TagCacheOn

Boolean

PortsReadOnly

Boolean

GradesReadOnly

Boolean

TanksReadOnly

Boolean

PumpsReadOnly

Boolean

ZigBeeReadOnly

Boolean

HosesReadOnly

Boolean

PricesReadOnly

Boolean

AttendantsReadOnly

Boolean

ClientsReadOnly

Boolean

SensorsReadOnly

Boolean

Page 21

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

fueling points (sides 1 and 3
or 2 and 4). Will authorize
the un-authorized hose that
has been pulled for the
longest time.
The pump attendant cache
in the EZRemotes enabled,
default is yes.
Whether the ports
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the grades
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the tanks
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the pumps
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the EZRemotes
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the hoses
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the fuel prices
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the attendants
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the Card Clients
coinfiguration can be edited
in the EZConfig application,
the default is yes.
Whether the Sensors
coinfiguration can be edited
in the EZConfig application,
the default is yes.

EZForecourt Developers Manual

Version 2.3.0.1
5.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZClient INI file

The EZClient INI file contains all of the configurable parameters for all of the EZServer
clients (EZClients). This INI file contains the entire standard parameters listed above but
has no specific parameters. The main parameter of interest here is the name parameter
in the Server section, in order to configure a remote client this parameter must be set to
the machine name of EZServer service host machine.

Section
N/A

5.3.

Parameter

Type

Description

EZDriver INI file

This INI file is also used by the EZServer service; more specifically it is use by the driver
DLLs loaded at start up. The parameters in this INI are all pre-configured and should only
be altered under specific instructions from EZTech. The following documentation is
provided for information purposes only. Under some of the protocol and pump type
sections you will find parameters which are not listed here, these are driver specific
parameters, for details of these parameters please contact EZTech technical support.
This INI file contains the standard parameters listed above along with the specific
parameters listed below.
Section
[Protocolnnn]

Parameter
Name

Type
String

DAL

String

Driver

String

LoopType

String

Baudrate

Numeric

Page 22

Description
The name of the protocol,
nnn is from 001 to 999, and
corresponds to the
ProtocolID column in the
Protocols table of the
EZDB database.
The name of the DAL
(Driver Abstraction Layer)
DLL, this will be
PumpDrv.DLL or
TankDrv.DLL depending
on the device type.
The name of the DLL file
which is the driver for this
protocol, note it must be a
fully qualified file name,
this is only used by
TankDrv.DLL
The loop type for this
connection COM or
SOCKET, this is only used
by TankDrv.DLL
The BPS (bits per second)
communications rate use
for this protocol, any value
from 300 to 38400 is valid,

EZForecourt Developers Manual

Version 2.3.0.1

[PumpTypennn]

DataBits

Numeric

Parity

String

StopBits

Numeric

NotRepsondingPollingRate

Numeric

MaxNoResposes

Numeric

ResponseTimeout

Numeric

IntercharTimeout

Numeric

StatusPollRate

Numeric

AlarmsPollRate

Numeric

TCPIPPort

Numeric

AfterReadDelay

Numeric

SensorPollRate

Numeric

Name

String

Protocol

Numeric

Page 23

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

only valid for LoopType
COM.
The number of data bits
per character. The options
are 7 or 8, only valid for
LoopType COM.
The parity bit type. The
options are O, E or N, for
odd, even or none
respectively, only valid for
LoopType COM.
The number of stop bits
trailing each character. The
options are 1 or 2, only
valid for LoopType COM.
The delay in milliseconds
inserted between polls to
devices which are currently
not responding.
The maximum number of
sequential no responses
from a device, before this
device is flagged as not
responding.
The response timeout in
milliseconds.
The inter character timeout
in milliseconds.
The delay in milliseconds
between polls for the tank
status.
The delay in milliseconds
between polls for the tank
alarms.
The TCPIP port number for
LoopType = SOCKET.
The delay in seconds after
each poll.
The rate in seconds that
the leak detection sensors
are polled.
The pump type name,
where nnn can be from 001
to 999, this is the Pump
type name as shown in the
EZConfig application.
The ProtocolID used to
communicate with this
pump; this links this pump
type to the appropriate
[Protocolnnn] section. For
the PumpDrv this is always
003.

EZForecourt Developers Manual

Version 2.3.0.1
Driver

String

ProtocolType

Numeric

LoopType

String

Baudrate

Numeric

DataBits

Numeric

Parity

Numeric

StopBits

Numeric

MaxHoses

Numeric

PriceLevels

Numeric

InterPollDelay

Numeric

InterCharDelay

Numeric

ForceValue

Boolean

ForceVolume

Boolean

ResponseDelay

Numeric

Page 24

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The name of the DLL file
which is the driver for this
protocol, note it must be a
fully qualified file name.
The protocol type ID, this
number is hard coded and
is used by the EZMOD and
EZRemote to determine
the type of polling for this
device.
The type of physical
connection and hence
driver card necessary for
this type of pump. The
options are CL20 (20ma
current loop), CL40 (40ma
current loop), RS485,
TOKHEIM and NZP.
The BPS (bits per second)
communications rate use
for this protocol, any value
from 300 to 38400 is valid.
The number of data bits
per character. The options
are 7 or 8.
The parity bit type. The
options are O, E or N, for
odd, even or none
respectively.
The number of stop bits
trailing each character. The
options are 1 or 2.
The maximum number of
hoses supported by this
pump type.
The maximum number of
price levels supported by
this pump.
The delay in milliseconds
inserted between polls by
the EZMods
The delay in milliseconds
inserted between
characters by the EZMods
Yes or No, to force the
delivery value to the
difference in the electronic
totals.
Yes or No, to force the
delivery volume to the
difference in the electronic
totals.
A delay in milliseconds

EZForecourt Developers Manual

Version 2.3.0.1

TotalsRollOver

ExtendedTotals

Boolean

4HoseProtocol

Boolean

BrazilCorrection

Boolean

ValueMultiple

Numeric

VolumeETotDecimals

Numeric

ValueETotDecimals

Numeric

VolumeDecimals

Numeric

VolumeDecimals

Numeric

PriceDecimals

Numeric

Page 25

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

inserted before the MUX
responds to a poll.
Yes or No, to maintain
electronic the part of the
totals greater than
1,000,000.00 in the
EZServer.
Does this protocol support
e-totals greater than a
million.
Wayne specific flag
whether it is the newer 4
hose or older three hose
protocol
Wayne specific flag to
cover a bug in some
Brazilian Wayne pumps.
The numeric multiple that
is the step size in the
delivery total, in cents.
The number of decimals
that the volume e-totals
has for this pump type, if
not present the pump
volume display format is
used.
The number of decimals
that the value e-totals has
for this pump type, if not
present the pump value
display format is used.
The number of decimals
that the delivery volume
has for this pump type, if
not present the pump
volume display format is
used.
The number of decimals
that the delivery value has
for this pump type, if not
present the pump value
display format is used.
The number of decimals
that the delivery price has
for this pump type, if not
present the pump price
display format is used.

EZForecourt Developers Manual

Version 2.3.0.1

5.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZLicense INI file

The EZLicense INI file is used by various EZForecourt modules, it should contain a valid
license key as issued by EZTech, this will determine which of the modules are licensed to
run and until which date. This INI only contains one application specific configuration key.
Section
[Application]

5.5.

Parameter
LicenseKey

Type

SerialNo

String

ExpirationDate

Date

Description
A 24 hex digit license key as supplied
by EZTech.
The numeric part of the serial number
used to generate this license key
The expiration date for this license
key.

EZATG INI file

If the EZForecourt is licensed for ATG functionality the following table is to determine is
functionality of the ATG software module.

Section
[Parameters]

Parameter
ConfirmEventLog

Type
Boolean

MaxLogEvents

Numeric

LogConfigChanges

Boolean

AutoClearTimeout

Numeric

StoppedRespondingTimeout

Numeric

PercentProductHiAlarm

Numeric

PercentProductHiWarning

Numeric

PercentProductLowWarning

Numeric

Page 26

Description
A flag to determine if
LogEvents require
acknowledgement by a
third party software, prior
to deletion.
The maximum number of
log events stored in the
EZForecourt.
Log changes in the
EZForecourt
configuration.
The timeout in seconds
for alarms to be autocleared.
The timeout in seconds
before a tank probe or
pump not responding
generates an alarm.
The percentage of the
tank capacity that above
which will generate a high
product alarm.
The percentage of the
tank capacity that above
which will generate a high
product warning.
The percentage of the
tank capacity that below

EZForecourt Developers Manual

Version 2.3.0.1

PercentProductLowAlarm

Numeric

WaterLevelHiAlarm

Numeric

WaterLevelHiWarning

Numeric

TankReadingInterval

Numeric

StrappingTableStep

Numeric

DampingFactor

Numeric

WeightedReadings

Numeric

VolumeLevelTolerance

Numeric

MinimumLeakVolume

Numeric

MinimumCalibrationErrorVolume

Numeric

MinimumTankDropVolume

Numeric

NotRespondingIsIdle

Boolean

LeakTimeout

Numeric

ExtendedLogs

Boolean

Page 27

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

which will generate a low
product warning.
The percentage of the
tank capacity that below
which will generate a
product low alarm.
The height in mm, that
above which will generate
a high water alarm
The height in mm, that a
water level above which
will generate a high water
alarm.
The interval in minutes
between logging the tank
readings as a log event, a
multiple of this value must
be 60.
The distance in meters
between strapping table
items.
The number of sequential
readings that are
averaged together to get
the weighted readings.
The number of sequential
weighted readings that
are used to detect tank
drops etc.
The tolerance in meters
between readings that
the readings are treated
as equal.
The minimum
discrepancy volume in
liters that will generate a
leak volume.
The minimum
discrepancy volume in
liters that will be treated
as a tank calibration
error.
The minimum volume in
liters that will be treated
as a tank drop.
Flag to determine of a
non-responding pump is
treated as idle or not.
The timeout in seconds
for a static tank to clear a
leaking alarm.
Flag to turn extended
logs on/off

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

6. Developer’s Kit contents
The developer’s kit is shipped with a full version of EZForecourt as well as sample programs,
pump simulator, USB RS485 adapter, and cable to connect the USB RS845 adapter to the
EZMod. The pump simulator requires the USB RS485 adapter and cable in order to function. To
install the USB RS485 adapter simply plug it into any available USB port and when the new
hardware found dialog appears point it to the \FTDI directory on the install CD.

6.1.

The EZSim pump simulator

The Pump simulator is used to assist with developing the host system, when a real pump is
not available. It is a windows application that simulates a real pump. The EZSim pump
appears as follows:

Page 28

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

In order for the pump simulator to work the server must be configure to use the EZSim
protocol for the EZMod in question and the pump types must all be set to EZSim.
To start a delivery simply click on any of the enabled hose, to end the delivery simply click the
hose button again.

6.1.1. EZSim INI file
This EZSim INI file is used by the EZSim pump simulator, as this is not an EZClient it
does not have a [Server] or [Log] section. A lot of the parameters for the EZSim
application are updated by the application when it is exited; as such editing them is of
little benefit. The application specific configuration parameters are as follows.
Section
[Parameters]

Parameter
NumberOfPumps

Type

PriceDecimals

ValueDecimals

VolumeDecimals

CommPort
SlowRate

FastRate

DelTimerInterval

PumpsPerRow

Page 29

Description
The number of pumps
currently configured for
the simulator this can be
from 1 to 16.
The number of decimal
places used for the price
display and price fields in
the communications
protocol.
The number of decimal
places used for the value
display and value fields in
the communications
protocol.
The number of decimal
places used for the
volume display and
volume fields in the
communications protocol.
The com port used by this
simulator
The amount added to the
delivery volume every
time a DelTimeInterval is
passed when the pump is
in slow flow mode.
The amount added to the
delivery volume every
time a DelTimeInterval is
passed when the pump is
in fast flow mode.
The amount of time in
milliseconds that is used
between updates of the
volume delivered when
the pump is delivering.
The number of pumps
display per row in the

EZForecourt Developers Manual

Version 2.3.0.1

HorizontalSpace

VerticalSpace

[PumpNNHoseY]

VolumeETot
Value1ETot

Price1
Value2ETot

Price2

6.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZSim window.
The number of pixels
between each of the
pump simulators
horizontally.
The number of pixels
between each of the
pump simulators
vertically.
The electronic volume
total for pump NN hose Y
The electronic value total
for pump NN hose Y price
level 1
The current price for price
level 1
The electronic value total
for pump NN hose Y price
level 2
The current price for price
level 2

Sample applications

The developer’s kit is shipped with three demonstration applications to assist in the
integration of the EZForecourt into the host system. These applications have no copyrights
applied to them and can be copied or modified as desired. EZTech are adding example
applications all the time, if your requirements are not covered by the following samples, enter
into contact with EZTech support.

6.2.1. EZDemoPos
The EZDemoPos is a VB.net application that acts as a POS terminal and demonstrates
all of the functions that are possible with EZForecourt. It uses the EZTech.DLL .NET
package.

6.2.2. EZClientCSharp
The EZClientCSharp is a more basic example and was also developed in VS 2008 C#, it
demonstrates how to call the EZClient DLL directly.

6.2.3. EZClientCpp.
The EZClientCpp application is an example developed in VS 2008 cpp and it calls the
EZClient.DLL directly. There is also a Linux version which uses GNU Gcc and calls the
EZClient.SO.1 shared object.

Page 30

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

6.2.4. EZClientDelphi7 / EXClientDelphiXe2.
The EZClientDelphi applications are examples developed in Delphi 7 and Xe2 and call
the EZClient.DLL directly.

Page 31

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

7. API reference
7.1.

API Components

The API (application interface) for the EZForecourt product consists of five components:









EZClient.DLL, a DLL which exposes the complete API to all types of applications. This
DLL is not a COM DLL and as such does not require registering or require COM
support capabilities of its host. The API for this is defined in the EZClient.h and
EZClient.lib files included with the developer’s kit.
EZTech.EZClient .NET control contained in the EZTech.DLL .NET package this control
exposes the complete API to .NET applications such as VB.NET, C#, and C++ .NET
with the managed C++ extensions.
EZTech.EZPump a visual .NET control contained in the EZTech.DLL .NET package,
this control exposes the pump specific parts of the API. It requires that the
EZTech.EZClient control also be hosted in the same application. This control is a visual
control, and has a limited user interface of its own. The is also the EZTech.EZTank
visual control which exposes the tank specific parts of the API
There are 64 bit versions of the EZTech.DLL and EZClient.DLL, For the EZClient.DLL it
is the EZCLient64.DLL for the EZTech.DLL it is the DLL found in the \EZForecourt\x64
directory.
There is 32 bit EZTech.SO.1 for Linux applications. It exposes the same APIs as the
EZClient.DLL
There is also a Web Service interface as defined in the file EZSoap.wsdl

The API calls are largely common across all five components and will be addressed just once in
this document; any differences between the five interfaces will be highlighted.

Page 32

EZForecourt Developers Manual

Version 2.3.0.1

7.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Data types

The API to the EZForecourt was designed using data types that are supported across as many
platforms and development environments as possible. The basic data types are as follows:32 bit Integer, range –2,147,483,648 to 2,147,483,647
16 bit Integer, range –32,768 to 32,767
64 bit Integer, range -9,223,372,036,854,775,808 to
9,223,372,036,854,775,807
64 bit floating point value representing the number of days
since January 1, 100. It has an approximate resolution of 1
millisecond up to December 31, 9999.
64 bit standard floating point type
Variable length Unicode strings , i.e. 16 bit characters

Int32
Int16
Int64
DateTime

Double
String

The declaration of these data types varies depending on the development platform.

Int64

C#
Windows
Int64

C/C++
Windows
__int64

Int64*

ref Int64

__int64*

Int32

Int32

long

Int32*

ref Int32

long*

Int16

Int16

short

Int16*

ref Int16

short*

double

Double

double

double*

ref Double

double*

String

String

BSTR

String*

ref String

PBSTR

DateTime

DateTime

DATE

DateTime*

ref
DateTime

DATE*

Delphi
Int64

VB.net

ByVal
Int64
PInt64
ByRef
Int64
Integer
ByVal
Int32
PInteger
ByRef
Int32
Smallint
ByVal
Int16
PSmallint
ByRef
Int16
Double
ByVal
Double
PDouble
ByRef
Double
WideString
ByVal
String
PWideString ByRef
String
DateTime
ByVal
Date
PDateTime ByRef
Date

Page 33

C/C++
Linux
long long
long long*
long
long*
short
short*
double
double
wchar_t*
wchar_t*
time_t
time_t*

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The API is object based, with all objects having a unique identifier. These IDs are of type long
and a value of -1 is designated as the NULL ID. The IDs are only unique to the specific object
type; as such to identify a specific object the type and ID are required.

Page 34

EZForecourt Developers Manual

Version 2.3.0.1

7.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Object based architecture

The EZserver software was developed from the ground up using an object based architecture. All
object types have three keys, they are as follows.


ID – a private unique 32 bit integer that is allocated to the object when it is created. This
key cannot be changed during the life of the object. All relationships between objects are
based on this key, and is hidden from the user.



Number – a public 32 bit integer that is used by the user to identify the object, such as
Pump number.



Name – a public 20 character string this is used by the user to identify the object such as
grade name.

All objects types have the following APIs to create, find, update and delete the objects, where
???? is the object type.


Get????sCount – To retrieve the number of objects in the internal EZServer list.



Get????ByOrdinal – To get the ID of an object in a specific position in the internal
EZServer list.



Get????ByNumber – To get the private ID of an object from is public number.



Get????ByName – To get the private ID of an object from is public name.



Get????Properties – To retrieve all of the properties of the object for a given ID, this
includes the number and name.



Set????Properties – To update the properties of an object for a given ID, if this ID does
not exist, a new object of this type is created and appended to the internal EZserver list
and its properties assigned.



Delete???? – To delete an object with a given ID.

Some objects types such as Deliveries, Card Reads, Logged events are created dynamically by
the EZServer, the ID for these object is generated automatically.

Page 35

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8. API Definition
8.1.

Connection

The connection APIs are provided to facilitate the log on, log off from the server and verification of
the connection.

8.1.1. ClientLogon(Ex)
Availability – EZClient.DLL, EZClient.SO.1 and EZTech.EZClient

Parameters
Parameter
ClientID

Type
Int32

API
All

ClientType

Int16

All

ServerName

String

All

CallPortNo

Int16

All

EventsPortNo

Int16

Ex

CallTimeout

Int32

Ex

EventHandle

Int32

All

hWnd

Int32

All

wMsg

Int32

All

Description
A unique identifier to identify this client, this same value must
be used by the EZClient.DLL in future calls to identify the
source. This value must be between 1 and 99.
Any combination of the following
0x01 = Calls client, i.e. can call all non-DB API functions
0x02 = Events client, i.e. will receive all non-DB events
0x04 = DB client, i.e. can call all DB API functions and will
receive all DB related events, this identifies the client as the
client who is performing all the DB operations on behalf of
EZServer, see Appendix 15 – Client type
The IP address or network name of the EZServer service
host machine. This can be passed as ‘’ it is the on the
same machine as the client.
The IP Port number to use for calling the server, the default
value for this is
5123. This value can be changed in the EZServer.ini file if
required.
The IP Port number to use for receiving events from the, the
default value for this is 5124. This value can be changed in
the EZServer.ini file if required.
The timeout in ms for the EZServer service to respond to
calls. The default value for this is 10000.
A HANDLE to an event object that will be cleared when
events have been received. Call ProcessEvents to retrieve
the events for processing. Pass NULL or zero to disable this
feature. (EZClient.DLL parameter only)
A windows handle that will be posted with the wMsg
message when an event is received. Call ProcessEvents to
retrieve the events for processing. Pass NULL or zero to
disable this feature. (EZClient.DLL parameter only)
The message type that is posted to the hWnd handle when
events are received, it must be a value greater than 1024,
this value is ignored if hWnd is passed as NULL.

Page 36

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Return value
Error code
OK_RESULT
ALREADY_LOGGED_ON_RESULT
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
A client with this client ID is already logged on.
The call to the server timed out, although a calls socket
was opened successfully.
A connection could not be established with the server, it
is most likely not running or inaccessible.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This call is required to logon to the forecourt server (EZServer) before calling any other API
function. The last three parameters are provided as means for the DLL to signal the host
application that an event has occurred, either an event object handle(EventHandle) or window
handle (hWnd) and message type (wMsg) are passed, never both. Calling ProcessEvents after
receiving notification of the events will process the waiting events. None of these three
parameters are required for the EZClient.SO.1 or EZTech.EZClient APIs as all of the event
processing is handled internally. For ClientLogon the server address and port numbers are
retrieved from the ezclient.ini file, for EZClientLogonEx these values are passed directly.

See also
Erro! Fonte de referência não encontrada.

Page 37

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.2. DllVersion
Availability – EZClient.DLL EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Version

Type
String*

API

Description
The returned value.

Return value
Error code
OK_RESULT

Error description
The call was successful.

Remarks
This API is called to get the software version of the EZClient.DLL.

See also
ServerVersion

Page 38

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.3. ServerVersion
Availability – EZClient.DLL, EZClient.SO.1, Web Service, EZTech.EZClient

Parameters
Parameter
Version

Type
String*

API

Description
The returned value.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is called to get the software version of the EZServer service.

See also
DllVersion

Page 39

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.4. ClientLogoff
Availability – EZClient.DLL, EZClient.SO.1, EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is called to terminate a client session with the forecourt server (EZServer).

See also
ClientLogon(Ex)

Page 40

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.5. ClientStatus
Availability – EZClient.DLL, EZClient.SO.1, EZTech.EZClient

Parameters
Parameter
PumpsReserved

Type
Int16*

DeliveriesLocked

Int16*

API

Description
The number of pumps currently reserved for a prepay or
preauth operation by this client.
The number of deliveries locked by this client.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This call should be made just after logging on, or when the terminal enters its idle state (between
transactions), to ensure that no previous operations have left dependencies in the forecourt
server, for this client. If either of these values is returned as non-zero, it is up to the client
application to locate the pump and/or delivery objects with reserves and/or locks, and take the
appropriate action. As this call has no effect on the server it can also be used to verify the server
connection.

See also
TestConnection, LicenseStatus

Page 41

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.6. TestConnection
Availability – EZClient.DLL, EZClient.SO.1, EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
Call this function to determine the status of the connection with the server.

See also
ClientStatus, LicenseStatus, GetLicenseType

Page 42

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.7. LicenseStatus
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
SERVER_NOT_LICENSED_RESULT
NO_EZMOD_RESULT
LICENSE_EXPIRED_RESULT

Error description
The license key is valid.
The client is not currently logged on.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.
The license key for the server is invalid or absent.
The EZModule for this license key cannot be found, it is
most likely turned off or not plugged in.
The license key has expired.

Remarks
Call this function to determine the status of the license key for the server.

See also
ClientStatus, TestConnection, GetLicenseType

Page 43

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.8. GetLicenseType
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
LicenseType

Type
Int16*

API

Description
16 bit flags determining which modules are licensed.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The license key is valid.
The client is not currently logged on.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
Call this function to determine the status of the license key for the server.

See also
ClientStatus, TestConnection, LicenseStatus

Page 44

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.1.9. GetIniValue
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Section
Key
Value

Type
String
String
String*

API

Description
The section in the EZServer.ini file where the key is located.
The key for the value being returned.
The returned value.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The key or section names are invalid (too short).

Remarks
This call is provided so that clients can read the EZServer.ini configuration values currently in use
by EZServer.

See also
SetIniValue

Page 45

EZForecourt Developers Manual

Version 2.3.0.1

8.1.10.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetIniValue

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Section

Type
String

Key
Value

String
String

API

Description
The section in the EZServer.ini file where the key/value is to be
added / updated.
The key for the value being updated/added.
The value to be updated/added in this section and key.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The key or section names are invalid (too short).

Remarks
This call is provided so that clients can update the EZServer.ini configuration file. Once the
update is completed the EZServer.ini values are re-loaded by the EZServer, hence alterations
have an immediate effect. Note that there is no validation of the section, key or values passed
other than length. Passing non-existent section or key values will result in the section/key being
added. Care must be taken to ensure that the configuration value does not have undesired
effects on the server operation.

See also
GetIniValue

Page 46

EZForecourt Developers Manual

Version 2.3.0.1

8.1.11.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetClientsCount

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
Returns the current number of clients logged onto EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
See also
ClientStatus, TestConnection

Page 47

EZForecourt Developers Manual

Version 2.3.0.1

8.1.12.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetDateTime

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
DataTme

Type
DateTime

API

Description
The new date and time to be saved into the EZForecourt.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to update the date and time of the forecourt controller.

See also
GetDateTime

Page 48

EZForecourt Developers Manual

Version 2.3.0.1

8.1.13.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDateTime

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
DataTme

Type
DateTime*

API

Description
Returns the date and time from the EZForecourt.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API is used to read the date and time of the forecourt controller.

See also
SetDateTime

Page 49

EZForecourt Developers Manual

Version 2.3.0.1

8.1.14.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

ResultString

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Res

Type
Int32

API

Description
The return value from any of the API calls listed above.

Return value
An English string describing the numeric error passed.

Remarks
This API can be used to convert an error value to an error description string in English.

See also
Appendix 13 – Error messages

Page 50

EZForecourt Developers Manual

Version 2.3.0.1

8.1.15.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

CheckSocketClosed

Availability – EZClient.DLL, EZClient.SO.1, EZTech.EZClient, Web Service

Parameters
Parameter
Param

Type
LPARAM

API
All

Description

Return value
Error code
OK_RESULT
CONNECTION_BROKEN

Error description
The socket is open.
The socket is closed.

Remarks
This API is used to verify whether the call socket for the current socket is closed or not.

See also
TestConnection

Page 51

EZForecourt Developers Manual

Version 2.3.0.1

8.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Events

The event APIs permit the processing of events, for a client application to receive events it must
be logged on as an EVENTS_CLIENT_TYPE. Events are received via a separate TCP/IP socket,
if a client is logged on as an EVENTS_CLIENT_TYPE and does not process the events, this may
impact the forecourt controller. See ClientLogon(Ex).

8.2.1. ProcessEvents
Availability – EZClient.DLL, EZClient.SO.1

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
CONNECTION_BROKEN
INVALID_CLIENT_TYPE

INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The connection with the server was lost.
The currently logged on client type, does not permit this call. It
must include ‘Events Client’ and/or ‘DB Client’ before it will
receive and events.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
ProcessEvents should be called when the EZClient.DLL posts a message to the windows handle,
or when the associated event object is cleared. If neither a windows handle nor an event object
handle were passed to the ClientLogon, then this routine can be polled, however this is not
recommended as it is inefficient.
The ProcessEvents call processes all of the waiting events and places them in an internal event
queue. The contents of this queue can be examined and manipulated by using the following calls
GetEventsCount, GetNextEventType, DiscardNextEvent, and GetNext?????Event, where ???? is
any of the various event types.
This call is only available on the EZClient.DLL because the EZClient.SO.1 and EZTech.EZClient
controls do all of the event processing internally, firing the various events as the appropriate
ActiveX or .NET events.

See also

Page 52

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetEventsCount, GetNextEventType, DiscardNextEvent, GetNextPumpEvent(Ex, Ex2, Ex3)

Page 53

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.2. GetEventsCount
Availability – EZClient.DLL, EZClient.SO.1

Parameters
Parameter
Count

Type
Int32*

API

Description
The number of events waiting in the events queue.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.

Remarks
This call is used to determine how many events are waiting in the internal events queue.

See also
ProcessEvents, GetNextEventType, DiscardNextEvent

Page 54

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.3. GetNextEventType
Availability – EZClient.DLL, EZClient.SO.1

Parameters
Parameter
Type

Type
Int16*

API

Description
The type of the event waiting at the head of the internal events
queue. See Appendix 14 – Client event types for more
information.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.

Remarks
This call is used to determine what the type of the event at the head of the internal events queue
is. Once you have the type you can then determine which of the GetNext????Event calls to use.

See also
ProcessEvents, Appendix 14 – Client event types

Page 55

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.4. DiscardNextEvent
Availability – EZClient.DLL, EZClient.SO.1

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The internal events queue is empty.

Remarks
This call removes the event from the head of the internal events queue; it is provided so that
those events of types that the host application is not interested in can be discarded.

See also
ProcessEvents, GetEventsCount, GetNextEventType

Page 56

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.5. GetNextPumpEvent(Ex, Ex2, Ex3) / StatusEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextPumpEvent,
EZTech.EZClient for PumpStatusEvent with no return value,
EZTech.EZPump for StatusEvent with no return value, these values are also
accessible via individual control properties.

Parameters
Parameter
PumpID

Type
Int32*

API
All

PumpNumber

Int16*
Int32*

All
Ex3,Ex3

State

Int16*

All

ReservedFor

ReservedBy

HoseID

HoseNumber

HosePhysicalNumber

Int16*

Int32*

Int32*

Int16*
Int32*

Int32*

Description
The pump object identifier. This parameter
is not present for the StatusEvent on the
EZTech.EZPump controls.
The logical number of the pump. This
parameter is not present for the
StatusEvent on the EZTech.EZPump
controls.
The current state of the pump, see
Appendix 1 – Pump states for explanation.
EZTech.EZPump control property
PumpState().
The reserve state of the pump, see
Appendix 2 – Pump reserves for
explanation.

All

EZTech.EZPump control property
ReservedFor().
The ID of the client that has the reserve in
place or -1 if there is no reserve.

All

EZTech.EZPump control property
ReservedBy().
The ID of the currently pulled hose object
or -1 if there is no currently pulled hose.

All

Ex
Ex2,Ex3

Ex2,Ex3

Page 57

EZTech.EZPump control property
CurHoseID().
The logical number of the currently pulled
hose or 0 if there is no currently pulled
hose.
EZTech.EZPump control property
CurHoseNumber().
The PhysicalHoseNumber of the currently
pulled hose or -1 if there is no currently
pulled hose.

EZForecourt Developers Manual

Version 2.3.0.1
GradeID

Int32*

All

GradeNumber

Int32*

Ex3

GradeName

String*

All

ShortGradeName

PriceLevel

Price

Volume

Value

StackSize

PumpName
PhysicalNumber
Side
Address

String*

Int16*

Double*

Double*

Double*

Int16*

String*
Int32*
Int16*
Int16*

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The ID of the grade for the currently pulled
hose or -1 if there is no currently pulled
hose.
EZTech.EZPump control property
CurGradeID().
The grade number for the currently pulled
hose or empty string if there is no currently
pulled hose.
The grade name for the currently pulled
hose or empty string if there is no currently
pulled hose.
EZTech.EZPump control property
CurGradeName().
The short grade name for the currently
pulled hose or empty string if there is no
currently pulled hose.

All

EZTech.EZPump control property
CurShortGardeName().
The current price level on the pump.

All

All

EZTech.EZPump control property
CurPriceLevel().
The selected price for the currently pulled
hose or zero if there is no currently pulled
hose.

All

EZTech.EZPump control property
CurPrice().
The in progress volume total of the
currently delivering pump, if it is not
currently delivering then it is zero.

All

EZTech.EZPump control property
CurVolume().
The in progress value total of the currently
delivering pump, if it is not currently
delivering then it is zero.
EZTech.EZPump control property
CurValue().
The number of stacked deliveries waiting
to be cleared on this fueling position.

All

Ex,Ex2,Ex3
Ex,Ex2,Ex3
Ex,Ex2,Ex3
Ex,Ex2,Ex3

Page 58

EZTech.EZPump control property
StackSize().
The fueling position name.
The fueling position number.
The fueling position side.
The fueling position address.

EZForecourt Developers Manual

Version 2.3.0.1
PriceLevel1

Int16*

Ex,Ex2,Ex3

PriceLevel2

Int16*

Ex,Ex2,Ex3

Type
PortID

Int16*
Int32*

Ex,Ex2,Ex3
Ex,Ex2,Ex3

AuthMode

Int16*

Ex,Ex2,Ex3

StackMode

Int16*

Ex,Ex2,Ex3

PrepayAllowed

Int16*

Ex,Ex2,Ex3

PreauthAllowed

Int16*

Ex,Ex2,Ex3

PriceFormat

Int16*

Ex,Ex2,Ex3

ValueFormat

Int16*

Ex,Ex2,Ex3

VolumeFormat

Int16*

Ex,Ex2,Ex3

Tag

Int64*

Ex2,Ex3

AttendantID

Int32*

Ex2,Ex3

AttendantNumber

Int32*

Ex2,Ex3

AttendantName

String*

Ex2,Ex3

AttendantTag

Int64*

Ex2,Ex3

CardClientID

String*

Ex2,Ex3

CardClientNumber

Int32*

Ex2,Ex3

CardClientName

String*

Ex2,Ex3

CardClientTag

Int64*

Ex2,Ex3

CurFlowRate

Double*

Ex3

PeakFlowRate

Double*

Ex3

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The grade price level associated with price
level 1 on this fueling position
The grade price level associated with price
level 2 on this fueling position
The pump type
The port that this pump is connected to 1
USB 1
The current authorization mode for this
fueling position
The current stack mode for this fueling
position
A flag as to whether prepay deliveries are
permitted at this fueling point.
A flag as to whether pre authorize
deliveries are permitted at this fueling
point.
The format of the price display, see
Appendix 6 – Pump display formats
The format of the value/total display, see
Appendix 6 – Pump display formats
The format of the volume/total display, see
Appendix 6 – Pump display formats
An external tag associated with this
delivery in progress, or -1 if none
The ID of the pump attendant associated
with this delivery in progress, or -1 if none.
The number of the pump attendant
associated with this delivery in progress,
or 0 if none.
The name of the pump attendant
associated with this delivery in progress.
The tag of the pump attendant associated
with this delivery in progress, or -1 if none.
The ID of the card client associated with
this delivery in progress, or -1 if none.
The number of the card client associated
with this delivery in progress, or 0 if none.
The name of the card client associated
with this delivery in progress.
The tag of the card client associated with
this delivery in progress, or -1 if none.
The current flow rate in liters per minute if
the fueling point is delivering.
The peak flow rate in liters per minute of
the fueling point during the current
delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit

Page 59

EZForecourt Developers Manual

Version 2.3.0.1

OBJECT_DOES_NOT_EXIST_RESULT

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

this call.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired whenever the state of the pump changes, this could either be the pump state,
delivery state, delivery values, reserved state, and attendant or client details.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Pumps

Page 60

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.6. GetNextDeliveryEvent(Ex, Ex2, Ex3, Ex4) / DeliveryEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextDeliveryEvent,
EZTech.EZClient for DeliveryEvent with no return value, EZTech.EZPump for
DeliveryEvent with return value,

Parameters
Parameter
DeliveryID

Type
Int32*

API
All

PumpID

Int32*

All

PumpNumber

Int16*
Int32*

All
Ex3,Ex4

PumpName

String*

Ex3,Ex4

HoseID

Int32*

All

HoseNumber
HosePhysicalNumber

Int16*
Int32*
Int32*

Base,Ex
Ex3,Ex4
Ex3,Ex4

TankID
TankNumber
TankName
GradeID

Int32*
Int32*
String*
Int32*

Ex3,Ex4
Ex3,Ex4
Ex3,Ex4
All

GradeNumber

Int32*

All

GradeName

Int32*

All

GradeShortName

String*

Ex3,Ex4

GradeCode
PriceLevel
Price
Volume
Value
DeliveryState

String*
Int16*
Double*
Double*
Double*
Int16*

Ex3,Ex4
All
All
All
All
All

Page 61

Description
The delivery object identifier, this is
allocated by the server when the
delivery is completed.
The pumps object identifier of the pump
which dispensed this delivery. This
parameter is not present for the
StatusEvent on the EZTech.EZPump
controls.
The logical pump number of the pump
which dispensed this delivery. This
parameter is not present for the
StatusEvent on the EZTech.EZPump
controls.
The name of the fueling position for this
delivery.
The hose object identifier for the hose
which dispensed this delivery.
The hose number of the hose which
dispensed this delivery.
The physical number of the hose for this
delivery.
The ID of the tank for this delivery.
The number of the tank for this delivery.
The name of the tank for this delivery.
The grades object identifier for the
grade of this delivery.
The number of the grade for this
delivery.
The full name of the grade for this
delivery.
The short name of the grade for this
delivery.
The grade code for this delivery.
The price level used for this delivery.
The price used for this delivery.
The volume dispensed for this delivery.
The total value for this delivery.
The current state of this delivery, see
Appendix 4 – Delivery states for
explanation.

EZForecourt Developers Manual

Version 2.3.0.1
DeliveryType

Int16*

All

LockedBy

Int32*

All

ReservedBy

Int32*

All

Age

Int32*

All

CompletedDT

DateTime*

All

AttendantID

Int32*

All

VolumeETot

Double*

Ex

Volume2ETot

Double*

Ex

ValueETot

Double*

Ex

OldVolumeETot

Double*

Ex2,Ex3,Ex4

OldVolume2ETot

Double*

Ex2,Ex3,Ex4

OldValueETot

Double*

Ex2,Ex3,Ex4

NewVolumeETot

Double*

Ex2,Ex3,Ex4

NewVolume2ETot

Double*

Ex2,Ex3,Ex4

NewValueETot

Double*

Ex2,Ex3,Ex4

Duration

Int32*

Tag

Int64*

AttendentNumber

Int32*

Ex,Ex2,Ex3,
Ex4
Ex,Ex2,Ex3,
Ex4
Ex3,Ex4

AttendentName

String*

Ex3,Ex4

AttendentTag

Int64*

Ex3,Ex4

CardClientID

Int32*

Ex3,Ex4

CardClientNumber

Int32*

Ex3,Ex4

CardClientName

String*

Ex3,Ex4

CardClientTag

Int64*

Ex3,Ex4

Page 62

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The type of the delivery, see Appendix 3
– Delivery types for explanation
The ID of the client who has locked this
delivery, if it is NULL ID then the
delivery is unlocked.
The ID of the client who has reserved
this delivery, if it is NULL ID then this
delivery was not reserved.
The age of the delivery in seconds since
it was completed.
The date and time the delivery
completed.
The ID of the pump Attendant that
authorized this delivery or was logged
onto the pump at the time the delivery
was done. If neither of these was the
case then this is NULL ID.
The electronic volume total for this hose
at the end of this delivery.
Always returned as zero. Reserved for
future use.
The electronic value total for this hose
at the end of this delivery.
The electronic volume total for this hose
at the start of this delivery.
Always returned as zero. Reserved for
future use.
The electronic value total for this hose
at the start of this delivery
The electronic volume total for this hose
at the end of this delivery.
Always returned as zero. Reserved for
future use.
The electronic value total for this hose
at the end of this delivery
The duration of the delivery in seconds.
External authorization tag associated
with this delivery.
The number of the pump attendant
associated with this delivery or 0
The name of the pump attendant
associated with this delivery
The tag of the pump attendant
associated with this delivery or -1
The ID of the card client that authorized
this delivery. If this was not the case
then this is NULL ID.
The number of the card client
associated with this delivery, or zero.
The name of the card client associated
with this delivery.
The card client tag associated with this

EZForecourt Developers Manual

Version 2.3.0.1

PeakFlowRate

Double*

Ex4

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

delivery, or -1.
The peak flow rate obtained during the
delivery in liters per minute.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired whenever the state of a delivery changes, that could be the delivery state, type,
locked by, reserved by properties, or when the delivery is completed.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Deliver

Page 63

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.7. GetNextServerEvent / ServerEvent
Availability –

EZClient.DLL and EZClient.SO.1 as GetNextServerEvent,
EZTech.EZClient as ServerEvent (no return value)
For Events clients only

Parameters
Parameter
EventID
EventText

Type
Int32*
String*

API

Description
The ID of the server generated event.
The event description string.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is generated by the server, it can be ignored or simply displayed on the screen.

See also
ProcessEvents, GetEventsCount, GetNextEventType

Page 64

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.8. GetNextClientEvent/ClientEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextClientEvent,
EZTech.EZClient for ClientEvent with no return value,
For Events/DB clients only

Parameters
Parameter
ClientID
EventID
EventText

Type
Int32*
Int32*
String*

API

Description
The ID of the client which generated the event.
The ID of the client generated event.
The event description string.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is generated when another EZServer client calls FireClientEvent. The value of the
EventID and EventText are simply passed through.

See also
ProcessEvents, GetEventsCount, GetNextEventType, FireClientEvent

Page 65

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.9. FireClientEvent
Availability – EZClient.DLL, EZTech.EZClient, EZClient.SO.1

Parameters
Parameter
EventID
EventText

Type
Int32
String

API

Description
The ID of the client generated event
The event description string.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
Calling this API will result in all other EZServer clients receiving a ClientEvent. This API is
provided so that a client can send notifications to other clients.

See also
GetNextClientEvent/ClientEvent

Page 66

EZForecourt Developers Manual

Version 2.3.0.1

8.2.10.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextDBLogEvent/DBLogEvent

EZClient.DLL and EZClient.SO.1 for GetNextDBLogEvent,
EZTech.EZClient for DBLogEvent with no return value,
For DB clients only.

Parameters
Parameter
EventType

Type
Int32*

DeviceID

Int32*

EventDT
EventText

DataTime*
String*

API

Description
This is the type of the event being generated. See
Appendix 5 – Event types, for more information
The ID of the device that generated this event, The event
type will depend on the event type.
The time and date the event occurred
The event description text.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired every time the server or an attached device/module generates an exception
event. As this is a DB client event, it is expected that this client will log the event to the database.

See also
ProcessEvents, GetEventsCount, GetNextEventType

Page 67

EZForecourt Developers Manual

Version 2.3.0.1

8.2.11.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextDBLogDeliveryEvent / DBLogDeliveryEvent

EZClient.DLL and EZClient.SO.1 for GetNextDBLogDeliveryEvent,
EZTech.EZClient for DBLogDeliveryEvent with no return value.
For DB clients only.

Parameters
Parameter
DeliveryID

Type
Int32*

HoseID
DeliveryState

Int32*
Int16*

DeliveryType

Int16*

Volume
PriceLevel
Price
Value
Volume2

Double*
Int16*
Double*
Double*
Double*

ReservedBy
AttendantID

Int16*
Int32*

DeliveryDT

DateTime*

API

Description
The ID of the delivery, as generated by the
server.
The ID of the hose which dispensed the delivery.
The state of the delivery, see Appendix 4 –
Delivery states for further explanation.
The type of the delivery, see Appendix 3 –
Delivery types for further explanation.
The volume of the delivery dispensed.
The price level the delivery was done at.
The price the delivery was done at.
The total value of the delivery.
The second volume of the delivery, this is a
reserved field at this stage and is always zero.
The ID of the client who reserved this delivery.
The ID of the attendant who authorized this
delivery or NULL ID if not authorized by an
attendant.
The date and time this delivery was stacked.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This is event is fired every time a delivery is completed, as this is a DB client event, it is expected
that the client will log this delivery to the database.

See also
Page 68

EZForecourt Developers Manual

Version 2.3.0.1

ProcessEvents, GetEventsCount, GetNextEventType, Deliver

Page 69

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.12.
GetNextDBClearDeliveryEvent /
DBClearDeliveryEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextDBClearDeliveryEvent,
EZTech.EZClient for DBClearDeliveryEvent with no return value.
For DB clients only.

Parameters
Parameter
DeliveryID
DeliveryType

Type
Int32*
Int16*

ClearedBY
ClearedDT
AttendantID

Int36*
DateTime*
Int32*

API

Description
The ID of the delivery that is being cleared
The type of the delivery when it was cleared, see Appendix
3 – Delivery types for further information.
The ID of the client who cleared the delivery.
The time and date the delivery was cleared.
The ID of the attendant who cleared the delivery, or NULL
ID if it was not cleared by an attendant.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired every time a delivery is cleared from the system. As this event is a DB client
only event, the client is expected to flag the delivery as cleared in the database etc.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Deliver

Page 70

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.13.
GetNextDBStackDeliveryEvent /
DBStackDeliveryEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextDBStackDeliveryEvent,
EZTech.EZClient for DBStackDeliveryEvent with no return value.
For DB clients only.

Parameters
Parameter
DeliveryID

Type
Int36*

API

Description
The ID of the delivery that was stacked

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired when the state of a delivery changes from CURRENT to STACKED. As this is
a DB client only event, it is expected that the DB client will update the state of the delivery in the
database.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Deliver

Page 71

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.14.
GetNextDBHoseETotalsEvent(Ex) /
DBHoseETotalsEvent(Ex)
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextDBStackDeliveryEvent,
EZTech.EZClient for DBStackDeliveryEvent with no return value.
For DB clients only.

Parameters
Parameter
HoseID

Type
Int32*

API
All

Volume

Double*

All

Value

Double*

All

VolumeETot

Double*

All

ValueETot

Double*

All

HoseNumber
HosePhyscalNumber
PumpID

Int32*
Int32*
Int32*

Ex
Ex
Ex

PumpNumber

Int32*

Ex

PumpName

String*

Ex

TankID
TankNumber

Int32*
Int32*

Ex
Ex

TankName
GradeID
GradeName

String*
Int32*
String*

Ex
Ex
Ex

Description
The ID of the hose for which the electronics are being
updated
The volume of the delivery which resulted in the
change to the electronic totals, this value will be zero
if the pump has just started responding.
The value of the delivery which resulted in the
change to the electronic totals, this value will be zero
if the pump has just started responding.
The new electronic volume total as retuned by the
pump for this hose.
The new electronic value total as retuned by the
pump for this hose.
The hose number ( position on the felling point )
The hose physical number ( global hose number )
The ID of the fueling position that this hose belongs
to.
The number of the fueling position that this hose
belongs to.
The name of the fueling position that this hose
belongs to.
The ID of the tank that this hose is connected to.
The number of the tank that this hose is connected
to.
The name of the tank that this hose is connected to.
The ID of the grade that this hose dispenses.
The name of the grade that this hose dispenses.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.

Page 72

EZForecourt Developers Manual

Version 2.3.0.1
OBJECT_DOES_NOT_EXIST_RESULT

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired at the completion of a delivery on the respective hose or when the pump starts
responding. If the electronic totals are as a result of delivery completion, then the volume and
value of the delivery is also passed, otherwise these values are zero.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Deliver, Hose

Page 73

EZForecourt Developers Manual

Version 2.3.0.1

8.2.15.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextDBTriggerEvent/DBTriggerEvent

EZClient.DLL and EZClient.SO.1 for GetNextDBTriggerEvent,
EZTech.EZClient for DBTriggerEvent with no return value.
For DB clients only.

Parameters
Parameter
TableID
RowID

Type
Int32*
Int32*

API

Description
The ID of the table that has been updated
The object ID of the table row that has been updated

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired by the EZTrigger DLL which is called from various insert/update/delete triggers
on the EZDB database. This is done so that the database client is aware of changes being made
to the database by other applications, typically configuration/maintenance applications. For more
information on this see the section regarding the EZTrigger DLL.

See also
ProcessEvents, GetEventsCount, GetNextEventType

Page 74

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.16.
GetNextDBAttendantLogonEvent /
DBAttendantLogonEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetDBNextAttendantLogon,
EZTech.EZClient for DBAttendantLogon with no return value.
For DB clients only.

Parameters
Parameter
AttendantID
PumpID

Type
Int32*
Int32*

API

Description
The ID of the attendant that has successfully logged on.
The ID of the pump that was logged onto.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired by when an attendant successfully logs onto a specific pump.

See also
ProcessEvents, GetEventsCount, GetNextEventType, AttendantLogon, Attendants

Page 75

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.17.
GetNextDBAttendantLogoffEvent /
DBAttendantLogonEvent
Availability –

EZClient.DLL and EZClient.SO.1 for GetDBNextAttendantLogoff,
EZTech.EZClient for DBAttendantLogoff with no return value,
For DB clients only.

Parameters
Parameter
AttendantID

Type
Int32*

API

Description
The ID of the attendant that has successfully logged off.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired when an attendant successfully logs off one or more pumps.

See also
ProcessEvents, GetEventsCount, GetNextEventType, AttendantLogoff, Attendants

Page 76

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.2.18.
GetNextDBTankStatusEvent(Ex,Ex2) /
DBTankStatusEvent(Ex,Ex2)
Availability –

EZClient.DLL and EZClient.SO.1 for GetNextDBTankStatusEvent,
EZTech.EZClient for DBTankStatusEvent with no return value.
For DB clients only.

Parameters
Parameter
TankID
GaugeVolume

Type
Int32*
Double*

API
All
All

GaugeTCVolume

Double*

All

GaugeUllage

Double*

All

GaugeTemperature

Double*

All

GaugeLevel

Double*

All

GaugeWaterVolume

Double*

All

GaugeWaterLevel

Double*

All

TankNumber
TankName
GradeID
GradeName
Type

Int32*
String*
Int32*
String*
Int16*

Ex,Ex2
Ex,Ex2
Ex,Ex2
Ex,Ex2
Ex,Ex2

Capacity
Diameter
GaugeID
ProbeNo
State
AlarmsMask

Double*
Double*
Int32*
Int16*
Ex2
Int32*

Ex,Ex2
Ex,Ex2
Ex,Ex2
Ex,Ex2
Ex2
Ex2

Description
The ID of the tank that generated the status event.
The volume of fuel in the tank as reported by the
tank gauge.
The temperature corrected volume of fuel in the tank
as reported by the tank gauge.
The unused or available capacity in the tank as
reported by the tank gauge.
The temperature of the fuel in the tank as reported
by the tank gauge.
The level of the fuel in the tank as reported by the
tank gauge.
The volume of water in the bottom of the tank as
reported by the tank gauge.
The level of the water in the bottom of the tank as
reported by the tank gauge.
The tank number.
The tank name.
The ID of the grade in this tank.
The name of the grade in this tank.
The type of tank measurement, see Appendix 12 –
Tank Types
The total capacity of the tank.
The diameter of the tank.
The ID of the ATG that is reading this tank.
The number of the probe inserted into this tank.
The state of the tank see Appendix 23 – Tank State
The state of all the alarms for this tank, in a bit mask
format see Appendix 24 – Alarms Mask.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.

Page 77

EZForecourt Developers Manual

Version 2.3.0.1
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

An unspecified internal error occurred; contact
EZTech technical support for assistance.
Either the internal events queue is empty, or the
event at the head of the queue is not of this type.

Remarks
This event is fired when an attendant successfully logs off one or more pumps.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Tanks

Page 78

EZForecourt Developers Manual

Version 2.3.0.1

8.2.19.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextCardReadEvent / CardReadEvent

EZClient.DLL and EZClient.SO.1 for GetNextCardReadEvent,
EZTech.EZClient for CardReadEvent with no return value,
For Events/DB clients only

Parameters
Parameter
CardReadID

Type
Int32*

Number

Int32*

Name

String*

PumpID

Int32*

Type

Int16*

ParentID

Int32*

Tag

Int64*

TimeStamp

DateTime*

API

Description
The ID of the card read, this is generated by the EZserver
when the card read is detected.
The number for this card read, this will be the pump
attendant or card client number depending on the type of
card passed.
The name for this card read, this will be the pump
attendant or card client name depending on the type of
card passed.
The ID of the fueling position where this card read was
registered.
The type of the card read see Appendix 26 – Card Read
Types.
The ID of the pump attendant or card client or NULL ID,
depending on the card read type.
The hexadecimal RFiD tag ID as printed on the reverse of
the card.
The time and date that the card read was read at the
reader.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This event is trigged whenever an RFiD card is read at one of the EZiD readers mounted on a
pump.

See also
ProcessEvents, GetEventsCount, GetNextEventType, Card Read

Page 79

EZForecourt Developers Manual

Version 2.3.0.1

8.2.20.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextLogEventEvent/LogEventEvent

EZClient.DLL and EZClient.SO.1 for GetNextLogEventEvent,
EZTech.EZClient for LogEventEvent with no return value,
For Events/DB clients only

Parameters
Parameter
LogEventID

Type
Int32*

DeviceType

Int16*

DeviceID
DeviceNumber
DeviceName
EventLevel
EventType
EventDesc
GeneratedDT
ClearedDT
ClearedBy
AckedBy

Int32*
Int32*
String*
Int16*
Int16*
String*
DateTime*
DateTime*
Int32*
Int32*

Volume

Double*

Value

Double*

ProductVolume

Double*

ProductLevel

Double*

WaterLevel
Temperature

Double*
Double*

API

Description
This ID of the Log Event, this is generated by the
EZServer when the event is created.
The type of the device that generated the event see
Appendix 20 – Log Event Device Type
The ID of the device that generated the event
The number of the device that generated the event
The name of the device that generated the event
The level of the event see Appendix 21 – Log Event Level
The type of the event see Appendix 22 – Log Event Type
The event description.
The time and date the event was generated.
The time and date the event was cleared.
The client ID that cleared the event see ClearLogEvent
The client ID that acknowledged the event see
AckLogEvent
A volume associated with this event, depends on the
event type.
A value associated with this event, depends on the event
type.
The volume of product in the tank if this is a tank related
event.
The level of product in the tank if this is a tank related
event.
The water level in the tank if this is a tank related event.
The temperature in the tank if this is a tank related event.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Page 80

EZForecourt Developers Manual

Version 2.3.0.1
Remarks
This event is trigged whenever a log event is created, or changes.

See also
ProcessEvents, GetNextEventType, Logged

Page 81

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.2.21.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextZeroDeliveryEvent

EZClient.DLL and EZClient.SO.1 for GetNextZeroDeliveryEvent,
EZTech.EZClient for ZeroDeliveryEvent with no return value,
For Events/DB clients only

Parameters
Parameter
PumpID
PumpNumber
HoseID
Number

Type
Int32*
Int32*
Int32*
Int32*

API

Description
The ID of fueling position that generated the event.
The number of fueling position that generated the event.
The ID of hose that generated the event.
The number of the hose that generated the event.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This event is generated if a hose was authorized and the returned without delivering, this is
known as a zero delivery.

See also
ProcessEvents, GetNextEventType, Pumps, Hose

Page 82

EZForecourt Developers Manual

Version 2.3.0.1

8.2.22.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetNextZB2GStatusEvent

EZClient.DLL and EZClient.SO.1 for GetNextZB2GStatusEvent,
EZTech.EZClient for ZB2GStatusEvent with no return value,
For Events/DB clients only

Parameters
Parameter
PortID

Type
Int32*

ZBAddress

Int64*

LQI
RSSI
ParZBAddress

Int16*
Int16*
Int64*

ZBChannel
MemBlocks
MemFree

Int16*
Int16*
Int16*

API

Description
The ID of the port that generated the event, usually 1 for
USB1 port.
The 64bit MAC address of the device that generated the
status event.
The Link Quality Indicator, the higher the better.
The signal strength in dB, the higher the better.
The 64 bot MAC address of the parent device, This can be
used to determine how the network was formed.
The channel in use, 11 to 26
The number of memory blocks in use.
The number of free memory blocks.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This event is fired when the status of a specific ZigBee device changes.

See also
ProcessEvents, GetNextEventType, ZigBee

Page 83

EZForecourt Developers Manual

Version 2.3.0.1

8.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Pumps

The pump object is the main component for any forecourt controller, it is with this device that the
majority of the communication occurs. The concept of a pump for the EZForecourt is in fact a
fueling position, a physical pump may have more than one fueling position, and normally has two
however it may have 4. For the rest of the document, pump will be referring to a fueling position.

8.3.1. GetPumpsCount
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of pump objects configured in the
server.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used determine the total number of pumps currently configured in the server. Once
this is known, the IDs of the individual pump objects can be obtained using GetPumpByOrdinal.

See also
GetPumpByName, GetPumpByGetPumpByNumber

Page 84

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.2. GetPumpByName
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the pump object for which the ID is being
requested.
The returned ID of the pump object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT

Error description
The call was successful.
The client is not currently logged on.

INVALID_CLIENT_TYPE

The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Remarks
Use this API to get the ID of the pump from the pump name.

See also
GetPumpsCount, GetPumpBy, GetPumpByNumber

Page 85

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.3. GetPumpByNumber
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number

Type
Int32

ID

Int32*

API

Description
The logical number of the pump for which the ID is being
requested.
The returned ID of the pump object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the pump ID from the logical pump number.

See also
GetPumpsCount, GetPumpByOrdinal, GetPumpByName

Page 86

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.4. GetPumpByOrdinal
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired pump object, this can be between 1
and the total number of pumps, as returned by GetPumpsCount.
The returned ID of the pump.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the pump ID of a pump using its ordinal value in the EZServer’s
internal pump objects list. The pumps are ordered in this list by ID.

See also
GetPumpsCount, GetPumpByNumber, GetPumpByName, Erro! Fonte de referência não
encontrada.

Page 87

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.5. GetPumpProperties(Ex)
Availability –

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient,
EZTech.EZPump via individual properties.

Parameters
Parameter
ID

Type
Int32

API
All

Description
The ID of the pump object for which the properties are
being requested.

Number

Int32*

All

EZTech.EZPump property ID().
The logical pump number

Name

String*

All

EZTech.EZPump property Number()
The pump name.

PhysicalNumber

Int16*

All

EZTech.EZPump property Name()
The pump physical number.

Side

Int16*

All

EZTech.EZPump property PhysicalNumber()
The side of the physical pump for this filling position.

Address

Int16*

All

EZTech.EZPump property Side()
The electronic polling address, for the pump as
configured in the pump.

PriceLevel1

Int16*

All

EZTech.EZPump property Address()
The EZForecourt price level to be used as price level
1 on this pump.

PriceLevel2

Int16*

All

EZTech.EZPump property PriceLevel1()
The EZForecourt price level to be used as price level
2 on this pump.

PriceDspFormat

Int16*

All

EZTech.EZPump property PriceLevel2()
The format of the pump price display, see Appendix 6
– Pump display formats for more information.

VolumeDspFormat

Int16*

All

EZTech.EZPump property PriceDspFormat()
The format of the pump volume display, see Appendix
6 – Pump display formats for more information.

ValueDspFormat

Int16*

All

EZTech.EZPump property VolumeDspFormat()
The format of the pump value display, see Appendix 6
– Pump display formats for more information.

Type

Int16*

All

EZTech.EZPump property ValueDspFormat()
The pump type identifier, this list is continually being

Page 88

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

added to. Consult EZTech support for the current list
of supported pump types.
EZTech.EZPump property Type()
The ID of the communications port that this pump is
connected to, the address of this pump must be
unique for this port.

PortID

Int16*

All

AttendantID

Int32*

All

EZTech.EZPump property PortID()
The ID of the attendant currently logged onto this
pump.

AuthMode

Int16*

All

EZTech.EZPump property AttendantID()
The authorization mode of this pump. See Appendix 7
– Pump authorization modes for more information.

StackMode

Int16*

All

PrepayAllowed

Int16*

All

EZTech.EZPump property StackMode()
Are prepay deliveries permitted on this pump.

PreauthAllowed

Int16*

All

EZTech.EZPump property PrepayAllowed()
Are preauth deliveries permitted on this pump.

SlotZigBeeId

Int16*

Ex

MuxSlotBeeID
PriceControl

Int16*
Int16*

Ex
Ex

HasPreset

Int16*

Ex

EZTech.EZPump property AuthMode()
The pump delivery stack (or memory) mode for this
pump, see Appendix 8 – Pump delivery stack
(memory) modes for more information.

EZTech.EZPump property PreauthAllowed()
The slot or EZRemote ID that this pump is connected
to. 1 to 4 are the slots, 5 and above are ZigBee IDs
Reserved must be NULL_ID
Whether the EZserver is to control the price of this
fueling point or not. See Appendix 17 – Price Control
Dos this pump support remote presets.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a pump object for the given ID.

Page 89

EZForecourt Developers Manual

Version 2.3.0.1
See also
SetPumpProperties(Ex)Erro! Fonte de referência não encontrada.

Page 90

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.6. SetPumpProperties(Ex)

Availability –

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
Number
Name
PhysicalNumber
Side
Address

Type
Int32
Int32
String
Int16
Int16
Int16

API
All
All
All
All
All
All

PriceLevel1

Int16

All

PriceLevel2

Int16

All

PriceDspFormat

Int16

All

VolumeDspFormat

Int16

All

ValueDspFormat

Int16

All

Type

Int16

All

PortID

Int32

All

AttendantID
AuthMode

Int32
Int16

All
All

StackMode

Int16

All

PrepayAllowed
PreauthAllowed

Int16
Int16

All
All

SlotZigBeeID

Int16

Ex

MuxSlotZigBeeID
PriceControl

Int32
Int16

Ex
Ex

HasPreset

Int16

Ex

Description
The ID for the pump object being queried.
The logical pump number.
The pump name.
The pump physical number.
The side of the physical pump for this filling position.
The electronic polling address for the pump, as
configured in the pump.
The EZForecourt price level to be used as price level 1
on this pump.
The EZForecourt price level to be used as price level 2
on this pump.
The format of the pump price display, see Appendix 6 –
Pump display formats for more information.
The format of the pump volume display, see Appendix 6
– Pump display formats for more information.
This property corresponds to the
The format of the value display see Appendix 6 – Pump
display formats for more information.
The pump type identifier, this list is continually being
added to. Consult EZTech support for the current list of
supported pump types.
The ID of the communications port that this pump is
connected to, the address of this pump must be unique
for this port.
The ID of the attendant currently logged onto this pump.
The authorization mode of this pump. See Appendix 7 –
Pump authorization modes for more information.
The pump delivery stack (or memory) mode for this
pump, see Appendix 8 – Pump delivery stack (memory)
modes for more information.
Are prepay deliveries permitted on this pump.
Are preauth deliveries permitted on this pump.
The slot or EZRemote ID that this pump is connected to.
1 to 4 are the slots, 5 and above are ZigBeeIDs
Reserved for future use.
Whether the EZserver is to control the price of this
fueling point or not. See Appendix 17 – Price Control
Dos this pump support remote presets.

Page 91

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT
INVALID_OBJECT_LINK_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.
One of the IDs passed representing a related
object references a non-existing object.

Remarks
This API is provided so that pump objects can be created and maintained on the server. If the
given pump ID already exists then the properties for this object will be overwritten with the values
passed, otherwise a new pump object with this ID is created and its properties set to the values
passed. It is the responsibility of the caller to ensure that the pump address is unique for this port,
and that the pump number etc. are unique.

See also
GetPumpProperties(Ex), DeletePump

Page 92

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.7. DeletePump
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump object to be deleted from the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to remove a pump object from the EZServer. If this pump has hoses or
deliveries linked to it, it cannot be deleted, delete these objects first. If a pump ID of -1 is passed
all the pumps will be deleted in a single operation.

See also
SetPumpProperties(Ex).

Page 93

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.8. GetPumpHosesCount/GetHosesCount
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient for
GetPumpHosesCount
EZTech.EZPump for GetHosesCount

Parameters
Parameter
ID

Type
Int32

Count

Int32*

API

Description
The ID of the pump in question. This parameter is not present
for the StatusEvent on the EZTech.EZPump controls.
The returned number of hoses.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to determine the quantity of hoses configured on this pump. Once this is
obtained GetPumpHoseByNumber can be used get the IDs for each of the individual hoses.

See also
GetPumpHoseByNumber

Page 94

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.3.9. GetPumpHoseByNumber/GetHoseByNumber
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient for
GetPumpHoseByNumber. EZTech.EZPump for GetHoseByNumber.

Parameters
Parameter
ID

Type
Int32

Number

Int32

HoseID

Int32*

API

Description
The ID of the pump that owns the hose. This parameter is not
present for the GetHoseByNumber on the EZTech.EZPump
controls.
The logical number of the hose, ranging from 1 to the hoses count
for this pump.
The returned ID of the hose.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to get the hose IDs for hoses connected to a specific pump. This API along with
GetPumpHosesCount can be used to get all of the hose IDs for a specific pump.

See also
GetPumpHosesCount/GetHosesCount

Page 95

EZForecourt Developers Manual

Version 2.3.0.1

8.3.10.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetPumpStatus(Ex, Ex2)

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.

Parameters
Parameter
ID

Type
Int32

API
All

State

Int16*

All

ReservedFor

Int16*

All

ReservedBy

Int32*

All

HoseID

Int32*

All

HoseNumber

Int32*

All

GradeID

Int32*

All

GradeName

String*

All

ShortGradeName

String*

All

PriceLevel
Price

Int16*
Double*

All
All

Volume

Double*

All

Value

Double*

All

StackSize

Int16*

All

AttendantID

Int32*

Ex,Ex2

AttendantNumber
AttendantName
AttendantTag
CardClientID

Int32*
Int32*
Int64*
Int32*

Ex,Ex2
Ex,Ex2
Ex,Ex2
Ex,Ex2

CardClientNumber
CardClientName
CardClientTag
CurFlowRate
PeakFlowRate

Int32*
Int32*
Int64*
Double*
Double*

Ex,Ex2
Ex,Ex2
Ex,Ex2
Ex2
Ex2

Description
The ID of the pump for which the status is being
requested.
The state of the pump, see Appendix 1 – Pump states
for more information.
The type of operation that the pump has been
reserved for. See Appendix 2 – Pump reserves for
more information.
The ID of the client who placed the reserve on the
pump.
The ID of the current hose on the pump, or NULL ID if
all the hoses are stowed.
The logical number of the current hose on the pump,
or zero if all the hoses are stowed.
The ID of the grade for the current hose on the pump,
or NULL ID if all the hoses are stowed.
The name of the grade for the current hose on the
pump, or empty string if all the hoses are stowed.
The short name of the grade for the current hose on
the pump, or empty string if all the hoses are stowed.
The currently selected price level on the pump.
The current price on the pump or zero if there is no
hose pulled.
The current volume on the pump or zero if there is no
hose pulled.
The current value on the pump or zero if there is no
hose pulled.
The number of untaken deliveries waiting on this
pump.
The ID of the pump attendant that authorized the
current delivery, or NULL ID if none is associated.
The number of the pump attendant.
The name of the pump attendant.
The tag of the pump attendant.
The ID of the card client used to authorize the current
delivery, or NULL ID if none is associated.
The number of the card client.
The name of the pump attendant.
The tag of the pump attendant.
The current flow rate in liters per minute.
The peak flow rate achieved during this delivery in
liters per minute.

Page 96

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This call can be used to get the current status of the pump. This call returns the same information
as that supplied by the PumpStatusEvent.

See also
GetNextPumpEvent(Ex, Ex2, Ex3) / StatusEvent, GetPumpDeliveryProperties(Ex, Ex2, Ex3,
Ex4), GetAllPumpStatuses

Page 97

EZForecourt Developers Manual

Version 2.3.0.1

8.3.11.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

PumpStateString

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
State

Type
Int16

API

Description
The numeric value of the pump state.

Return value
An English string describing the pump state value passed.

Remarks
This API can be used to convert a pump state value to a pump state description string in English.

See also
GetNextPumpEvent(Ex, Ex2, Ex3) / StatusEventGetPumpStatus(Ex, Ex2)

Page 98

EZForecourt Developers Manual

Version 2.3.0.1

8.3.12.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EnablePump

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump to enable.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used primarily to control CNG dispensers which by nature are auto authorize.
Disabling and enabling these pumps does give some form of control, however the state of the
hose (in or out) when the pump is disabled is not always available.

See also
DisablePump

Page 99

EZForecourt Developers Manual

Version 2.3.0.1

8.3.13.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DisablePump

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump to disable.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is the opposite of EnablePump, and is used primarily to block CNG dispensers.

See also
EnablePump

Page 100

EZForecourt Developers Manual

Version 2.3.0.1

8.3.14.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetPumpDefaultPriceLevel

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.

Parameters
Parameter
ID
Level

Type
Int32
Int16

API

Description
The ID of the fueling position in question.
The price level to be used as the default, this value must
match one of the price levels configured for each grade.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to set the default price level used for this fueling position. This is the price level
used if none is specified in the authorization functions, or if it is auto authorization.

See also
GetPumpProperties(Ex), SetPumpProperties(Ex), LoadPreset, LoadPresetWithPrice,
PaymentAuthorise

Page 101

EZForecourt Developers Manual

Version 2.3.0.1

8.3.15.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDensity

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.

Parameters
Parameter
ID
Density

Type
Int32
Double*

API

Description
The ID of the fueling position in question.
The CNG density at this fueling point.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the density of the CNG at a specific CNG fueling point. If the fueling
position is not for CNG this API will return 0.

See also
GetPumpStatus(Ex, Ex2).

Page 102

EZForecourt Developers Manual

Version 2.3.0.1

8.3.16.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

ScheduleBeep

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

Pitch1

Int16

Duration1
Pitch2
Duration2
Pitch3
Duration3
Pitch4
Duration4
Pitch5
Duration5

Int16
Int16
Int16
Int16
Int16
Int16
Int16
Int16
Int16

API

Description
The pump ID to which to action the beeper, or -1 for the
EZForecourt.
The pitch of the first beep, 1500 = 1 KHz, 1000 = 1.5 KHz,
750 = 2Khz, 500 = 3Khz, 375 = 4Khz, 300 = 5 KHz, 250 =
6Khz, 188 = 8 KHz, 0 = off
The duration the first beep in ms.
The pitch of the second beep.
The duration the second beep in ms.
The pitch of the third beep.
The duration the third beep in ms.
The pitch of the fourth beep.
The duration the fourth beep in ms.
The pitch of the fifth beep.
The duration the fifth beep in ms.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to action the beeper in an EZRemote installed in a pump, or in the EZForecourt.
You can causa up to 5 different notes of different durations.

See also
FlashLEDS, GetDeviceDetails, ResetDevice

Page 103

EZForecourt Developers Manual

Version 2.3.0.1
8.3.17.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

FlashLEDS

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Side
PeriodMs
Cycles

Type
Int32
Int16
Int16
Int16

API

Description
The pump ID to where to flash the LEDs on the EZReader
The side of the pump to flash the LEDs, 1 or 2
The period in ms.
The number of flashes

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to flash the LEDs of an EZreader connected to an EZRemote. You can causa up
to flash a repeated number of times for a specific duration.

See also
ScheduleBeep, GetDeviceDetails, ResetDevice

Page 104

EZForecourt Developers Manual

Version 2.3.0.1

8.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Pump prepay deliveries

The Prepay APIs are provided to assist the POS system in performing prepay deliveries, this
could result in the generation of prepay refund deliveries. See Appendix 3 – Delivery types.

8.4.1. PrepayReserve
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump for which the reserve is being requested.
This parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_CLIENT_ID_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PREPAYS_NOT_PREMITTED_RESULT
PUMP_IN_USE_RESULT
PUMP_IS_STOPPED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_NOT_AVAILABLE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The current Client ID is not logged onto the server.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
Prepays are not permitted on this pump.
The pump is not idle.
The pump is temp stopped.
The pump already has either a prepay, preauth or
payment reserve placed on it.
The pump has a current delivery which cannot be
stacked automatically.

Remarks
The API is used to start a prepay delivery on a pump. This is the first step and must be done
before the client is permitted to pay for the delivery. This guarantees that the pump is available
and reserved for this prepay delivery.

See also
Page 105

EZForecourt Developers Manual

Version 2.3.0.1
PrepayCancel, PrepayAuthorise

Page 106

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.4.2. PrepayCancel
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump that is having the prepay reserve cancelled.
This parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESERVED_FOR_PREPAY_RESULT
PUMP_NOT_RESERVED_BY_YOU_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_IN_USE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does
not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The pump was not reserved for a prepay
delivery.
The pump was not reserved by this
client.
The pump is not currently responding.
The pump is not idle.

Remarks
This API is used to cancel either a prepay reserve or prepay authorized pump. If the pump was
already authorized for a prepay delivery then a prepay refund for the full amount will be
generated.

See also
PrepayReserve, PrepayAuthorise

Page 107

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.4.3. PrepayAuthorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

LimitType

Int16

Value
Hose

Double
Int16

PriceLevel

Int16

API

Description
The ID of the pump that is being prepay authorized. This
parameter is not present for the EZTech.EZPump controls.
The limit type being place on the delivery,
DOLLAR_PREPAY_TYPE and VOLUME_PREPAY_TYPE are
the only valid values here. See Appendix 9 – Pump limit types
for more information
The dollar or volume limit being placed on the delivery.
The permitted hose/hoses for this prepay delivery. See
Appendix 10 – Permitted hoses mask for more information.
The selected price level for this prepay delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
INVALID_PRESET_TYPE_RESULT
INVALID_PRESET_AMOUNT_RESULT
INVALID_HOSE_MASK_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_NOT_RESERVED_FOR_PREPAY_RESULT
PUMP_NOT_RESERVED_BY_YOU_RESULT
PUMP_IS_STOPPED_RESULT

Page 108

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does
not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The preset type requested is not
permitted for this type of authorize.
The preset amount is less than the
configured minimum.
None of the permitted hoses are
configured on this pump.
The pump is not responding.
The pump is performing a price change
or a timeout after a prepay refund.
The pump is no longer idle.
The pump was not reserved for a prepay
delivery.
The pump was not reserved by this
client.
The pump is currently temp stopped.

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Remarks
This API is the second step in doing a prepay delivery on a pump. Once the pump has been
reserved correctly, the value and grade have been confirmed and paid for, the pump can be
authorized to delivery up to the volume/value purchased.
Once this delivery is completed it is cleared automatically as a prepay delivery. If the
value/volume was less than the limit specified then a prepay refund is generated. If the delivery is
not started within the configured prepay authorized timeout, a prepay refund will be generated for
the full amount.

See also
PrepayReserve, PrepayCancel

Page 109

EZForecourt Developers Manual

Version 2.3.0.1

8.5.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Pump preauth deliveries

The preauth APIs are provide to facilitate the integration with EFT payment terminals, these APIs
are maintained for backward compatibility, and any new development should utilize the Payment
APIs.

8.5.1. PreauthReserve
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump for which the reserve is being requested. This
parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_CLIENT_ID_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PREAUTHS_NOT_PREMITTED_RESULT
PUMP_IN_USE_RESULT
PUMP_IS_STOPPED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_NOT_AVAILABLE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The current Client ID is not logged onto the server.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
Preauths are not permitted on this pump.
The pump is not idle.
The pump is temp stopped.
The pump already has either a prepay, preauth or
payment reserve on it.
The pump has a current delivery which cannot be
stacked automatically.

Remarks
The API is used to start a preauth delivery on a pump. This is the first step and must be done
before the client’s credit rating is determined. This guarantees that the pump is available and
reserved for this preauth delivery.

Page 110

EZForecourt Developers Manual

Version 2.3.0.1
See also
PreauthCancel, PreauthAuthorise

Page 111

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.5.2. PreauthCancel
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump that is having the preauth reserve cancelled.
This parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESERVED_FOR_PREAUTH_RESULT
PUMP_NOT_RESERVED_BY_YOU_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_IN_USE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type,
does not permit this call.
The call to the server timed out.
The connection with the server was
lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The pump was not reserved for a
preauth.
The pump was not reserved by this
client.
The pump is not currently responding.
The pump is not idle.

Remarks
This API is used to cancel either a preauth reserved or authorized pump.

See also
PreauthReserve, PreauthAuthorise

Page 112

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.5.3. PreauthAuthorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

LimitType

Int16

Value
Hose

Double
Int16

PriceLevel

Int16

API

Description
The ID of the pump that is being preauth authorized. This
parameter is not present for the EZTech.EZPump controls.
The limit type being place on the delivery,
DOLLAR_PREAUTH_TYPE and VOLUME_PREAUTH_TYPE
are the only valid values here. See Appendix 9 – Pump limit
types for more information
The dollar or volume limit being placed on the delivery.
The permitted hose/hoses for this preauth delivery. See
Appendix 10 – Permitted hoses mask for more information.
The selected price level for this preauth delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
INVALID_PRESET_TYPE_RESULT
INVALID_PRESET_AMOUNT_RESULT
INVALID_HOSE_MASK_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_NOT_RESERVED_FOR_PREAUTH_RESULT
PUMP_NOT_RESERVED_BY_YOU_RESULT
PUMP_IS_STOPPED_RESULT

Page 113

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type,
does not permit this call.
The call to the server timed out.
The connection with the server was
lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The preset type requested is not
permitted for this type of authorize.
The preset amount is less than the
configured minimum.
None of the permitted hoses are
configured on this pump.
The pump is not responding.
The pump is performing a price change
or a timeout after a prepay refund.
The pump is no longer idle.
The pump was not reserved for a
preauth.
The pump was not reserved by this
client.
The pump is currently temp stopped.

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Remarks
This API is the second step in doing a preauth delivery on a pump. Once the pump has been
reserved correctly, the value and grade have been confirmed and the credit rating of the client
confirmed, the pump can be authorized to delivery up to the volume/value limit.
Once this delivery is completed is must be cleared by the EZServer client who
reserved/authorized this delivery. If the delivery is not started within the configured preauth
authorized timeout the pump reverts back to unreserved. It is then the responsibility of the
EZServer client to reverse the preauth transaction.

See also
PreauthReserve, PreauthCancel

Page 114

EZForecourt Developers Manual

Version 2.3.0.1

8.6.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Pump payment deliveries

They pump payment APIs are provided to facilitate the integration with payment terminals. This
supersedes the preauth delivery APIs.

8.6.1. PaymentReserve
Availability – EZClient.DLL, EZClient.SO.1, Web Service, EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

TermID
TermHash

Int32
String

API

Description
The ID of the pump that is being payment authorized. This
parameter is not present for the EZTech.EZPump controls.
The client ID that is making the reservation.
Reserved for future use.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_CLIENT_ID_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_IS_STOPPED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_NOT_AVAILABLE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The current Client ID is not logged onto the server.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
The pump is not idle.
The pump is temp stopped.
The pump already has either a prepay, preauth or
payment reserve placed on it.
The pump has a current delivery which cannot be
stacked automatically.

Remarks
This API starts the process of a payment type delivery, this the first step and is necessary to
verify the availability of the fueling position in question. The TermID can be the same as the
ClientID, and must be the same as the TermID used in the cancel and authorize steps of the
transaction, and also the same as the client ID that locks and clears the delivery.

See also

Page 115

EZForecourt Developers Manual

Version 2.3.0.1
PaymentCancel, PaymentAuthorise, ClearDelivery

Page 116

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.6.2. PaymentCancel
Availability – EZClient.DLL, EZClient.SO.1, Web Service, EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

TermID
TermHash

Int32
String

API

Description
The ID of the pump that is being payment authorized. This
parameter is not present for the EZTech.EZPump controls.
The client ID that is cancelling the reservation.
Reserved for future use.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

PUMP_NOT_RESERVED_FOR_CTF_RESULT
PUMP_NOT_RESERVED_BY_YOU_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_IN_USE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The pump was not reserved for a payment.
The pump was not reserved by this client.
The pump is not currently responding.
The pump is not idle.

Remarks
This API cancels a previous PaymentReserve.

See also
PaymentReserve, PaymentAuthorise

Page 117

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.6.3. PaymentAuthorise
Availability – EZClient.DLL, EZClient.SO.1, Web Service, EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

TermID
TermHash
AttendantID

Int32
String
Int32

AttendantTag

Int64

CardClientID

Int32

CardClientTag

Int64

AuthType
ExtTag
PriceLevel

Int16
Int64
Int16

Price

Double

GradeType

Int16

PriceType

Int16

PresetType

Int16

Value
Hose

Double
Int16

Odometer

Double

Odometer2

Double

Plate

String

ExtTransactionID

String

DriverID

String

Authorisation

String

API

Description
The ID of the pump that is being payment authorized. This
parameter is not present for the EZTech.EZPump controls.
The client ID that is authorizing the payment delivery.
Reserved for future use.
The ID of the pump attendant to be associated with this
delivery, or NULL ID.
The pump attendants RFiD tag to be associated with this
delivery or -1. This tag must belong to a configured pump
attendant.
The ID of the card client to be associated with this delivery,
or NULL ID.
The card clients RFiD tag to be associated with this
delivery or -1. This tag must belong to a configured pump
attendant.
An optional authorization type to be saved with the delivery.
An optional external tag to be saved with the delivery.
The predefined price level to be used for this delivery or
zero for none.
The price to be used for this delivery, the treatment of this
depends on the PriceType parameter.
The grade type permitted, or 0 for all. See EZATG INI file
and GetGradeProperties(Ex).
The form that the Price field is interpreted see Appendix 18
– Price Type
The form that the Value parameter is interpreted see
Appendix 9 – Pump limit types
The preset limit for this delivery.
The hose mask for permitted hoses, see Appendix 10 –
Permitted hoses mask
An optional odometer reading saved with the resulting
delivery.
A second optional odometer reading saved with the
resulting delivery.
An optional vehicle number plate saved with the resulting
delivery. Maximum 10 chars.
An optional external transaction ID saved with the resulting
delivery. Maximum 20 chars.
An optional driver ID string saved with the resulting
delivery. Maximum 10 chars.
An optional authorization ID string saved with the resulting
delivery. Maximum 10 chars.

Page 118

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
INVALID_PRESET_TYPE_RESULT
INVALID_HOSE_MASK_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_NOT_RESERVED_FOR_CTF_RESULT
PUMP_NOT_RESERVED_BY_YOU_RESULT
PUMP_IS_STOPPED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type,
does not permit this call.
The call to the server timed out.
The connection with the server was
lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The preset type requested is not
permitted for this type of authorize.
None of the permitted hoses are
configured on this pump.
The pump is not responding.
The pump is performing a price change
or a timeout after a prepay refund.
The pump is no longer idle.
The pump was not reserved for a
preauth.
The pump was not reserved by this
client.
The pump is currently temp stopped.

Remarks
This API is the final step in a payment delivery, it permits limiting the hose, grade and specifying a
temporary price. It also provides a means of saving additional information along with the delivery.
These optional fields can be retrieved with the GetDeliveryExt API after the delivery is completed.

See also
PaymentReserve, PaymentCancel, GetDeliveryExt

Page 119

EZForecourt Developers Manual

Version 2.3.0.1

8.7.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Pump authorization

The pump authorization APIs provide the various methods by which fueling point can be
authorized etc.

8.7.1. AttendantAuthorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

AttendantID

Int32

API

Description
The ID of the pump being authorized. This parameter is not
present for the EZTech.EZPump controls.
The ID of the attendant authorizing the pump.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_CANNOT_BE_AUTHED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_IS_STOPPED_RESULT
HAS_CURRENT_DELIVERY_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
The pump is not idle.
The pump mode does not permit post pay
deliveries.
The pump is already reserved for a prepay, preauth
or payment delivery.
The pump is currently temp stopped.
The pump has a current delivery which cannot be
automatically stacked.

Remarks
This is API is used to manually authorize a pump without a limit, the resultant delivery is logged
against the authorizing attendant. If the delivery is not started within the configured manually
authorized timeout the pump reverts locked.

See also
CancelAuthorise

Page 120

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.2. Authorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump being authorized. This parameter is not
present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_CANNOT_BE_AUTHED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_IS_STOPPED_RESULT
HAS_CURRENT_DELIVERY_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
The pump is not idle.
The pump mode does not permit post pay
deliveries.
The pump is already reserved for a prepay, preauth
or payment delivery.
The pump is currently temp stopped.
The pump has a current delivery which cannot be
automatically stacked.

Remarks
This is API is used to manually authorize a pump without a limit. If the delivery is not started
within the configured manually authorized timeout the pump reverts locked.

See also
CancelAuthorise, TempStop, TerminateDelivery, ReAuthorise

Page 121

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.3. CancelAuthorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump having the manual authorization cancelled.
This parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AUTHED_RESULT
PUMP_ALREADY_RESERVED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The pump is not responding.
The pump was not manually authorized.
The pump has a prepay, preauth or payment
reserved placed on it.

Remarks
The API is provided to cancel any of the manual authorizations which can be done on a pump.

See also
LoadPreset, AttendantAuthorise, Authorise

Page 122

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.4. TempStop
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump being temp stopped. This parameter is not
present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_IS_STOPPED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The pump is not responding.
The pump is already temp stopped.

Remarks
This API is used to place a temp stop on a pump which is either delivering or authorized. A temp
stop will stop the pump delivering or prevent it from starting. ReAuthorise is used to clear the
temp stop.

See also
ReAuthorise

Page 123

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.5. TerminateDelivery
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump for which to terminate the delivery. This
parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_DELIVERING_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The pump is not responding.
The pump is not currently delivering.

Remarks
This API is used to remotely terminate a delivery in progress. If the pump is currently delivering
the pump is temp stopped first. The current value, volume, price and grade will be used to
generate a delivery. Once the delivery has been terminated the pump cannot be authorized or reauthorized until the hose is returned. Once the hose is returned the electronic totals for the pump
will be consulted and logged in the normal way.

See also
TempStop

Page 124

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.6. ReAuthorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump being re-authorized. This parameter is not
present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_STOPPED_RESULT
DELIVERY_TERMINATED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The pump is not responding.
The pump is not temp stopped.
A delivery on the pump has been terminated, and
hence the pump cannot be re-authorized.

Remarks
The API is used to re-start a pump which has been temp stopped.

See also
ReAuthorise

Page 125

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.7. LoadPreset
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

LimitType

Int16

Value
Hose

Double
Int16

PriceLevel

Int16

API

Description
The ID of the pump that is being authorized with a preset. This
parameter is not present for the EZTech.EZPump controls.
The limit type being place on the delivery,
DOLLAR_PRESET_TYPE and VOLUME_PRESET_TYPE are
the only valid values here. See Appendix 9 – Pump limit types
for more information.
The dollar or volume limit being placed on the delivery.
The permitted hose/hoses for this delivery. See Appendix 10 –
Permitted hoses mask for more information.
The selected price level for this delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_PRESET_TYPE_RESULT
INVALID_PRESET_AMOUNT_RESULT
INVALID_HOSE_MASK_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_CANNOT_BE_AUTHED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_IS_STOPPED_RESULT
HAS_CURRENT_DELIVERY_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The preset type requested is not permitted for this
type of authorize.
The preset amount is less than the configured
minimum.
None of the permitted hoses are configured on this
pump.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
The pump is not idle.
The pump mode does not permit post pay
deliveries.
The pump is already reserved for a prepay,
preauth or payment delivery.
The pump is currently temp stopped.
The pump has a current delivery which cannot be
automatically stacked.

Page 126

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Remarks
This API is used to manually authorize a pump with value limit, volume limit and/or hose mask.
Once the delivery is completed it will need to be cleared as a Post-pay delivery by any logged on
EZServer client. If the delivery is not started within the configured manually authorized timeout
the preset is lost and the pump reverts locked.

See also
CancelAuthorise

Page 127

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.8. TagAuthorise
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID
Tag
LimitType

Type
Int32
Int64
Int16

Value
Hose

Double
Int16

PriceLevel

Int16

API

Description
The ID of the pump that is being authorized with a preset.
The tag to be saved with the resulting delivery.
The limit type being place on the delivery,
DOLLAR_PRESET_TYPE and VOLUME_PRESET_TYPE
are the only valid values here. See Appendix 9 – Pump
limit types for more information
The dollar or volume limit being placed on the delivery.
The permitted hose/hoses for this delivery. See Appendix
10 – Permitted hoses mask for more information.
The selected price level for this delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_PRESET_TYPE_RESULT
INVALID_PRESET_AMOUNT_RESULT
INVALID_HOSE_MASK_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_IS_STOPPED_RESULT
PUMP_CANNOT_BE_AUTHED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_IS_STOPPED_RESULT
HAS_CURRENT_DELIVERY_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The preset type requested is not permitted for this
type of authorize.
The preset amount is less than the configured
minimum.
None of the permitted hoses are configured on this
pump.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
The pump is not idle.
The pump is currently temp stopped.
The pump mode does not permit post pay
deliveries.
The pump is already reserved for a prepay, preauth
or payment delivery.
The pump is currently temp stopped.
The pump has a current delivery which cannot be
automatically stacked.

Page 128

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Remarks
This API is used to authorize a pump when external device is used to capture the tag, this tag
parameter can be retrieved when the delivery is complete along with its other properties.

See also
CancelAuthorise, GetPumpDeliveryProperties(Ex, Ex2, Ex3, Ex4)

Page 129

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.7.9. LoadPresetWithPrice
Availability –

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

LimitType

Int16

Value
Hose

Double
Int16

PriceLevel
Price

Int16
Double

API

Description
The ID of the pump that is being authorized with a preset.
This parameter is not present for the EZTech.EZPump
controls.
The limit type being place on the delivery,
DOLLAR_PRESET_TYPE and VOLUME_PRESET_TYPE
are the only valid values here. See Appendix 9 – Pump
limit types for more information
The dollar or volume limit being placed on the delivery.
The permitted hose/hoses for this delivery. See Appendix
10 – Permitted hoses mask for more information.
The selected price level for this delivery.
The price that is to be used for this delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_PRESET_TYPE_RESULT
INVALID_PRESET_AMOUNT_RESULT
INVALID_HOSE_MASK_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_NOT_AVAILABLE_RESULT
PUMP_IN_USE_RESULT
PUMP_CANNOT_BE_AUTHED_RESULT
PUMP_ALREADY_RESERVED_RESULT
PUMP_IS_STOPPED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The preset type requested is not permitted for this
type of authorize.
The preset amount is less than the configured
minimum.
None of the permitted hoses are configured on this
pump.
The pump is not responding.
The pump is unavailable, it is either changing
prices or timing out after a prepay refund.
The pump is not idle.
The pump mode does not permit post pay
deliveries.
The pump is already reserved for a prepay, preauth
or payment delivery.
The pump is currently temp stopped.

Page 130

EZForecourt Developers Manual

Version 2.3.0.1
HAS_CURRENT_DELIVERY_RESULT

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The pump has a current delivery which cannot be
automatically stacked.

Remarks
The API functions in same way as LoadPreset with the addition that it permits the application of a
specific price, once the delivery is completed the original price at the pump will be restored.

See also
LoadPreset, CancelAuthorise

Page 131

EZForecourt Developers Manual

Version 2.3.0.1

8.8.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Global functions

The global pump functions will affect all defined fueling points or tanks as a whole.

8.8.1. AllStop
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API is provided to place a temp stop on all pumps with one call. This can be cleared with
AllReAuthorise, or each pump can be individually ReAuthorised.

See also
ReAuthorise, TempStop, AllReAuthorise, AllStopIfIdle

Page 132

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.8.2. AllStopIfIdle
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
PUMP_IN_USE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.
One or more of the pumps is not idle, or has available
deliveries.

Remarks
This API is provided to place a temp stop on all pumps with one call, if the pumps are all currently
idle and do not have deliveries pending. This can be cleared with AllReAuthorise, or each pump
can be individually ReAuthorised. This call is provided to assist with the shift end procedure, it is
typically called when all the pumps become idle and then is ReAuthorised with the AllReAuthorise
API.

See also
ReAuthorise, TempStop, AllReAuthorise, AllStop

Page 133

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.8.3. AllAuthorise
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is provided so that all pumps can be authorized in one operation. To reverse this
CancelAuthorise must be called for each individual pump.

See also
CancelAuthorise, AllStop, AllReAuthorise, AllStopIfIdle

Page 134

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.8.4. AllReAuthorise
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
N/A

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is provided so that AllStop can be reversed in one operation. It has the same effect as
calling ReAuthorise for each individual pump.

See also
ReAuthorise, AllStop, TempStop, AllStopIfIdle

Page 135

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.8.5. GetAllPumpStatuses
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient.

Parameters
Parameter
States

Type
String*

CurrentHoses

String*

DeliveriesCount

String*

API

Description
A string containing all of the current pump states, position
1 contains the state for pump number 1 and position n
contains the state for pump n, the length of the string
corresponds to the highest pump number. To convert the
string element to the actual pump state, subtract ‘0’ (48
decimal, or 0x30 hex). See Appendix 1 – Pump states for
more information.
A string containing all of the current pump hoses, position
1 contains the current hose for pump number 1 and
position n contains the current hose for pump n, the
length of the string corresponds to the highest pump
number. To convert the string element to the actual pump
hose number, subtract ‘0’ (48 decimal, or 0x30 hex).
A string containing a count of all of the available
deliveries, position 1 contains the available deliveries for
pump number 1 and position n contains the available
deliveries for pump n, the length of the string corresponds
to the highest pump number. To convert the string
element to the actual number of available deliveries,
subtract ‘0’ (48 decimal, or 0x30 hex).

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.

Remarks
This API is used to quickly obtain a pump status summary for all of the installed hoses.

See also
GetPumpStatus

Page 136

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.8.6. ReadAllTanks
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter

Type

API

Description

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to force the ATG module initiate a read of all the tank statuses.

See also

Page 137

EZForecourt Developers Manual

Version 2.3.0.1

8.9.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Deliveries

Deliveries are the basic fuel delivery transaction. They may include links to the attendant and/or
client associated with the delivery.

8.9.1. GetDeliveriesCount
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of delivery objects currently in the
server.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used determine the total number of deliveries currently in the server. Once this is
known, the IDs of the individual delivery objects can be obtained using GetDeliveryByOrdinal.

See also
GetDeliveryByOrdinal

Page 138

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.2. GetDeliveryByOrdinal
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired delivery object, this can be between 1
and the total number of deliveries, as returned by
GetDeliveriesCount.
The returned ID of the delivery object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the delivery ID of a delivery using its ordinal value in the server’s
internal deliveries objects list. The deliveries are ordered in this list by ID, the ordinal value is
based on a filtered list of uncleared deliveries.

See also
GetDeliveriesCount

Page 139

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.3. GetDeliveryProperties(Ex, Ex2, Ex3, Ex4)
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

HoseID
State

Int32*
Int16*

All
All

Type

Int16*

All

Volume
PriceLevel
Price
Value
Volume2

Double*
Int16*
Double*
Double*
Double*

All
All
All
All
All

CompletedDT
ReservedBy

DateTime*
Int32*

All
All

LockedBy

Int32*

All

AttendantID

Int32*

All

Age

Int32*

All

ClearedDT

DateTime*

VolumeETot

Double*

Ex,
Ex2,
Ex3,
Ex4
Ex

Volume2ETot

Double*

Ex

ValueETot

Double*

Ex

OldVolumeETot

Double*

OldVolume2ETot

Double*

OldValueETot

Double*

Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4

Description
The ID of the delivery object for which the properties
are being requested.
The ID of the hose which made the delivery.
The current state of the delivery, see Appendix 4 –
Delivery states for more information.
The type of the delivery, see Appendix 3 – Delivery
types for more information.
The total volume for the delivery.
The price level this delivery was taken at.
The unit price for the delivery.
The total value of this delivery.
This property is reserved for future use and will be
retuned as zero.
The date and time the delivery was completed.
The ID of the client who reserved the pump for this
delivery, or NULL ID if it was not reserved.
The ID of the client has locked this delivery or NULL
ID if it was not reserved.
The ID of the Attendant that authorized this delivery
or was logged onto the pump at the time the delivery
was done. If neither of these was the case then this
is NULL ID.
The Age of the delivery in seconds since it was
completed.
The date and time the delivery was cleared from the
EZServer.

The electronic volume total for this hose at the end of
this delivery.
Always returned as zero. Reserved for future use.
The electronic value total for this hose at the end of
this delivery.
The electronic volume total for this hose at the start
of this delivery.
Always returned as zero. Reserved for future use.

The electronic value total for this hose at the start of
this delivery

Page 140

EZForecourt Developers Manual

Version 2.3.0.1
NewVolumeETot

Double*

NewVolume2ETot

Double*

NewValueETot

Double*

Tag

Int64*

Duration

Int32*

CardClientID

Int32*

PeakFlowRate

Double*

Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex,
Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex3,
Ex4
Ex4

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The electronic volume total for this hose at the end of
this delivery.
Always returned as zero. Reserved for future use.

The electronic value total for this hose at the end of
this delivery
The authorization tag as passed in TagAuthorise or 1 if not authorized by tag auth.

The duration of the delivery in seconds.

The ID of the card client that authorized this delivery,
or NULL ID.
The peak flow achieved during this delivery in liters
per minute.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a delivery object for the given ID.

See also
SetDeliveryProperties, GetDeliveryExt

Page 141

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.4. SetDeliveryProperties(Ex, Ex2, Ex3, Ex4)
Availability –

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API
All

HoseID
State

Int32
Int16

All
All

Type

Int16

All

Volume
PriceLevel
Price

Double
Int16
Double

All
All
All

Value
Volume2

Double
Double

All
All

CompletedDT
LockedBy

DateTime
Int32

All
All

ReservedBy

Int32

All

AttendantID

Int32

All

Age

Int32

All

ClearedDT

DateTime

VolumeETot

Double

Ex,
Ex2,
Ex3,
Ex4
Ex

Volume2ETot
ValueETot

Double
Double

Ex
Ex

OldVolume2ETot

Double

OldVolumeETot

Double

OldValueETot

Double

Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex2,

Description
The ID of the delivery object for which the properties
are being set.
The ID of the hose which made the delivery.
The current state of the delivery, see Appendix 4 –
Delivery states for more information.
The type of the delivery, see Appendix 3 – Delivery
types for more information.
The total volume for the delivery.
The price level this delivery was taken at.
The unit price for the delivery.
The total value of this delivery.
This property is reserved for future use and will be
retuned as zero.
The date and time the delivery was completed.
The ID of the client who has locked this delivery or
NULL ID if it was not reserved.
The ID of the client who reserved the pump for this
delivery, or NULL ID if it was not reserved.
The ID of the Attendant that authorized this delivery
or was logged onto the pump at the time the delivery
was done. If neither of these was the case then this
is NULL ID.
The age in seconds of this delivery since it was
completed.
The date and time the delivery was cleared from the
EZServer.

The electronic volume total for this hose at the end of
this delivery
Always returned as zero. Reserved for future use.
The electronic value total for this hose at the end of
this delivery.
The electronic volume total for this hose at the start
of this delivery.
Always returned as zero. Reserved for future use.

The electronic value total for this hose at the start of

Page 142

EZForecourt Developers Manual

Version 2.3.0.1

NewVolume2ETot

Double

NewVolumeETot
NewValueETot

Double
Double

Tag

Int64

Duration

Int32

CardClientID

Int32

PeakFlowRate

Double

Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex4
Ex4
Ex,
Ex2,
Ex3,
Ex4
Ex2,
Ex3,
Ex4
Ex3,
Ex4
Ex4

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

this delivery
The electronic volume total for this hose at the end of
this delivery.
Always returned as zero. Reserved for future use.
The electronic value total for this hose at the end of
this delivery
The authorization tag as passed in TagAuthorise or 1 if not authorized by tag auth.

The duration of the delivery in seconds.

The ID of the card client that authorized this delivery,
or NULL ID.
The peak flow achieved during this delivery in liters
per minute.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT
INVALID_OBJECT_LINK_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.
One of the IDs passed representing a related
object references a non-existing object.

Remarks
This API is provided so that delivery objects can be created and maintained on the server. If the
given delivery ID already exists then the properties for this object will be overwritten with the
values passed, otherwise a new delivery object with this ID is created and its properties set to the
values passed. The HoseID must represent an object which already exists on the server or the
call will fail.
Normally when deliveries are completed the EZServer will automatically create a new delivery
object with a generated ID. However if the EZServer has just been started up it is the
responsibility of the DB Client to pre-load all the un-cleared deliveries which are still outstanding.
Note that there is no DeleteDelivery API as ClearDelivery will automatically clear the deliveries
from the system, and has the same effect.

Page 143

EZForecourt Developers Manual

Version 2.3.0.1
See also
GetDeliveryProperties, SetNextDeliveryID

Page 144

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.5. LockDelivery
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the delivery that is being locked.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
DELIVERY_ALREADY_LOCKED_RESULT
DELIVERY_IS_RESERVED_RESULT
INVALID_CLIENT_ID_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The delivery has already been locked, by you or
another client.
The delivery was done as a prepay or preauth
delivery and is reserved for another EZClient.
The ID of this client is not a valid EZServer client.

Remarks
This API is used to lock a delivery; this will prevent other terminals from locking or clearing the
delivery while this client has it included in a sale. Once the delivery is successfully locked it can
then be cleared which will remove it from the EZServer.

See also
UnlockDelivery, ClearDelivery, LockAndClearDelivery

Page 145

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.6. UnlockDelivery
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the delivery that is being locked.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
DELIVERY_NOT_LOCKED_RESULT
DELIVERY_NOT_LOCKED_BY_YOU_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The delivery is not currently locked.
The delivery is locked by another EZServer
client.

Remarks
The API performs the opposite of LockDelivery. It is provided so that a delivery already included
into a sale (locked) can be voided (unlocked) making it available for other clients.

See also
LockDelivery, ClearDelivery, LockAndClearDelivery

Page 146

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.7. ClearDelivery
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Type

Type
Int32
Int16

API

Description
The ID of the delivery being cleared.
The type the delivery is being cleared as. See Appendix 3 –
Delivery types for more information.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE

SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
DELIVERY_NOT_LOCKED_RESULT
DELIVERY_NOT_LOCKED_BY_YOU_RESULT
DELIVERY_CANNOT_BE_CLEARED_AS_THIS_TYPE_RESULT

Error description
The call was successful.
The client is not currently
logged on.
The currently logged on
client type, does not permit
this call.
The call to the server timed
out.
The connection with the
server was lost.
An unspecified internal
error occurred; contact
EZTech technical support
for assistance.
The object referenced does
not exist.
The delivery is not currently
locked.
The delivery is locked by
another EZServer client.
The original type of the
delivery does not permit it
to be cleared as this type.

Remarks
This API is used after the delivery has been locked and the sale is finalized, this will result in the
delivery being removed from the EZServer. If the original type of the delivery was POSTPAY it
may be cleared as either MONITOR, TEST, DRIVEOFF or OFFLINE delivery types, otherwise it
must be cleared with same type as its original delivery type.

See also
LockDelivery, UnlockDelivery, LockAndClearDelivery

Page 147

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.8. LockAndClearDelivery
Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Type

Type
Int32
Int16

API

Description
The ID of the delivery being locked and cleared.
The type the delivery is being cleared as. See Appendix 3 –
Delivery types for more information.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE

SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
DELIVERY_NOT_LOCKED_BY_YOU_RESULT
DELIVERY_CANNOT_BE_CLEARED_AS_THIS_TYPE_RESULT

Error description
The call was successful.
The client is not currently
logged on.
The currently logged on
client type, does not permit
this call.
The call to the server timed
out.
The connection with the
server was lost.
An unspecified internal
error occurred; contact
EZTech technical support
for assistance.
The object referenced does
not exist.
The delivery is locked by
another EZServer client.
The original type of the
delivery does not permit it
to be cleared as this type.

Remarks
This API is used to lock and clear a delivery as a single operation; this will result in the delivery
being removed from the EZServer. If the original type of the delivery was POSTPAY it may be
cleared as either MONITOR, TEST, DRIVEOFF or OFFLINE delivery types, otherwise it must be
cleared with same type as its original delivery type. This call is the equivalent to calling
LockDelivery followed by a ClearDelivery. This call is intended to be used by host systems, which
clear the deliveries as they are completed, passing the control/responsibility for the delivery to the
host system.

See also

Page 148

EZForecourt Developers Manual

Version 2.3.0.1
LockDelivery, UnlockDelivery, ClearDelivery

Page 149

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

8.9.9. SetNextDeliveryID
Availability –

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID used to save the next delivery completed.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
As the EZServer captures the deliveries done on the pumps, they are associated with a unique
ID. This ID is generated by simply incrementing in internal long variable. However as the
EZServer has no knowledge of the deliveries already logged into the database, it is necessary for
the DB Client to give it a starting value. This would normally be the maximum logged delivery ID
plus one.

See also
SetDeliveryProperties

Page 150

EZForecourt Developers Manual

Version 2.3.0.1

8.9.10.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

AckDeliveryDBlog

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the delivery to be acknowledged as logged to the
database.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API is used to acknowledge that a delivery has been logged to data base or third party
system. For this to work the ConfirmDeliveryLog flag in the EZServer.ini must be set to true.
The concept behind this that there may be a third party application that want to log all of the
deliveries to an independent database. Deliveries will be retained in the EZserver local database
until they have been logged.

See also
GetDeliveryIDByOrdinalNotLogged, GetDeliveriesCountNotLogged, EZServer INI file

Page 151

EZForecourt Developers Manual

Version 2.3.0.1

8.9.11.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeliveryIDByOrdinalNotLogged

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Ordinal

Type
Int32

ID

Int32*

API

Description
The index of the desired delivery object, this can be between 1
and the total number of deliveries, as returned by
GetDeliveriesCountNotLogged
The returned ID of the delivery object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API returns the ID of a delivery which has not already been logged. The deliveries are
ordered in this list by ID, the ordinal value is based on a filtered list of unlogged deliveries.

See also
GetDeliveriesCountNotLogged, AckDeliveryDBlog

Page 152

EZForecourt Developers Manual

Version 2.3.0.1

8.9.12.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeliveriesCountNotLogged

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned count of deliveries not logged.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API returns the count of deliveries in the filtered list of unlogged deliveries.

See also
AckDeliveryDBlog, GetDeliveryIDByOrdinalNotLogged

Page 153

EZForecourt Developers Manual

Version 2.3.0.1

8.9.13.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

AckDeliveryVolLog

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the delivery to be acknowledged as logged to
volumetric logging system.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API is used to acknowledge that a delivery has been logged to volumetric logging system.
For this to work the ConfirmVolumetricLog flag in the EZServer.ini must be set to true. The
concept behind this that there may be a third party volumetric logging application that wants to log
all of the deliveries to an independent database. Deliveries will be retained in the EZserver local
database until they have been logged.

See also
GetDeliveryIDByOrdinalNotVolLogged, GetDeliveriesCountNotVolLogged

Page 154

EZForecourt Developers Manual

Version 2.3.0.1

8.9.14.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeliveryIDByOrdinalNotVolLogged

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Ordinal

Type
Int32

ID

Int32*

API

Description
The index of the desired delivery object, this can be between 1
and the total number of deliveries, as returned by
GetDeliveriesCountNotVolLogged.
The returned ID of the delivery object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API returns the ID of a delivery which has not already been volumetric logged. The deliveries
are ordered in this list by ID, the ordinal value is based on a filtered list of unlogged volumetric
deliveries.

See also
AckDeliveryVolLog, GetDeliveriesCountNotVolLogged

Page 155

EZForecourt Developers Manual

Version 2.3.0.1

8.9.15.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeliveriesCountNotVolLogged

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned count of deliveries not volumetric logged.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API returns the count of deliveries in the filtered list of unlogged volumetric deliveries.

See also
AckDeliveryVolLog, GetDeliveryIDByOrdinalNotVolLogged

Page 156

EZForecourt Developers Manual

Version 2.3.0.1

8.9.16.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAllDeliveriesCount

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned count of all deliveries, regardless of cleared or logged
etc.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
The API returns the total number of deliveries regardless of logged or cleared status.

See also
GetAllDeliveryByOrdinal

Page 157

EZForecourt Developers Manual

Version 2.3.0.1

8.9.17.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAllDeliveryByOrdinal

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Ordinal

Type
Int32

ID

Int32*

API

Description
The index of the desired delivery object, this can be between 1
and the total number of deliveries, as returned by
GetAllDeliveriesCount.
The returned ID of the delivery object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API returns the ID of a delivery from the unfiltered delivery list. The deliveries are ordered in
this list by ID.

See also
GetAllDeliveriesCount

Page 158

EZForecourt Developers Manual

Version 2.3.0.1

8.9.18.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeliverySummary(Ex, Ex2, Ex3)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

HoseID

Int32*

All

HoseNumber

Int32*

All

HosePhysicalNumber

Int32*

All

PumpID

Int32*

All

PumpNumber

Int32*

All

PumpName

String*

All

TankID
TankNumber
TankName
GradeID

Int32*
Int32*
String*
Int32*

All
All
All
All

GradeNumber
GradeName
GradeShortName
GradeCode
State

Int32*
Int32*
String*
String*
Int16*

All
All
All
All
All

Type

Int16*

All

Volume
PriceLevel
Price
Value
Volume2

Double*
Int16*
Double*
Double*
Double*

All
All
All
All
All

CompletedDT
LockedBy

DateTime*
Int32*

All
All

ReservedBy

Int32*

All

Description
The ID of the delivery object for which the
properties are being requested.
The hose object identifier for the hose which
dispensed this delivery.
The number of the hose which dispensed this
delivery.
The physical number of the hose for this
delivery.
The pumps object identifier of the pump which
dispensed this delivery. This parameter is not
present for the StatusEvent on the
EZTech.EZPump controls.
The logical pump number of the pump which
dispensed this delivery. This parameter is not
present for the StatusEvent on the
EZTech.EZPump controls.
The name of the fueling position for this
delivery.
The ID of the tank for this delivery.
The number of the tank for this delivery.
The name of the tank for this delivery.
The grades object identifier for the grade of this
delivery.
The number of the grade for this delivery.
The full name of the grade for this delivery.
The short name of the grade for this delivery.
The grade code for this delivery.
The current state of the delivery, see Appendix
4 – Delivery states for more information.
The type of the delivery, see Appendix 3 –
Delivery types for more information.
The total volume for the delivery.
The price level this delivery was taken at.
The unit price for the delivery.
The total value of this delivery.
This property is reserved for future use and will
be retuned as zero.
The date and time the delivery was completed.
The ID of the client has locked this delivery or
NULL ID if it was not reserved.
The ID of the client who reserved the pump for
this delivery, or NULL ID if it was not reserved.

Page 159

EZForecourt Developers Manual

Version 2.3.0.1
AttendantID

Int32*

All

Age

Int32*

All

ClearedDT

DateTime*

All

VolumeETot

Double*

Base

Volume2ETot

Double*

Base

ValueETot

Double*

Base

OldVolumeETot

Double*

OldVolume2ETot

Double*

OldValueETot

Double*

NewVolumeETot

Double*

NewVolume2ETot

Double*

NewValueETot

Double*

Tag

Int64*

Ex,
Ex2,
Ex3
Ex,
Ex2,
Ex3
Ex,
Ex2,
Ex3
Ex,
Ex2,
Ex3
Ex2,
Ex3,
Ex4
Ex,
Ex2,
Ex3
All

Duration

Int32

AttendentNumber

Int32*

AttendentName

String*

AttendentTag

Int64*

CardClientID

Int32*

CardClientNumber

Int32*

CardClientName

String*

CardClientTag

Int64*

PeakFlowRate

Double*

Ex,
Ex2,
Ex3
Ex2,
Ex3
Ex2,
Ex3
Ex2,
Ex3
Ex2,
Ex3
Ex2,
Ex3
Ex2,
Ex3
Ex2,
Ex3
Ex4

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The ID of the Attendant that authorized this
delivery or was logged onto the pump at the
time the delivery was done. If neither of these
was the case then this is NULL ID.
The Age of the delivery in seconds since it was
completed.
The date and time the delivery was cleared from
the EZServer.
The electronic volume total for this hose at the
end of this delivery.
Always returned as zero. Reserved for future
use.
The electronic value total for this hose at the
end of this delivery.
The electronic volume total for this hose at the
start of this delivery.
Always returned as zero. Reserved for future
use.
The electronic value total for this hose at the
start of this delivery
The electronic volume total for this hose at the
end of this delivery.
Always returned as zero. Reserved for future
use.
The electronic value total for this hose at the
end of this delivery
The authorization tag as passed in
TagAuthorise or -1 if not authorized by tag auth.
The duration of the delivery in seconds.

The number of the pump attendant associated
with this delivery or 0
The name of the pump attendant associated
with this delivery
The tag of the pump attendant associated with
this delivery or -1
The ID of the card client that authorized this
delivery. If this was not the case then this is
NULL ID.
The number of the card client associated with
this delivery, or zero.
The name of the card client associated with this
delivery.
The card client tag associated with this delivery,
or -1.
The peak flow rate obtained during the delivery

Page 160

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

in liters per minute.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is functionally equivalent to GetDeliveryProperties(Ex, Ex2, Ex3, Ex4), however it
expands and includes the pump, hose, tank and grade details for the delivery.

See also
GetDeliveryProperties(Ex, Ex2, Ex3, Ex4)

Page 161

EZForecourt Developers Manual

Version 2.3.0.1

8.9.19.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeliveryExt

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Plate
Odometer
Odometer2
TransactionID
DriverID
AuthID
AuthType

Type
Int32
String*
Double*
Double*
String*
String*
String*
Int16*

API

Description
The ID of the delivery in question.
The vehicle number plate associated with the delivery.
The main odometer reading associated with the delivery.
The second odometer reading associated with the delivery.
The transaction ID string associated with the delivery.
The driver ID string associated with the delivery.
The authorization ID string associated with the delivery.
The authorization type associated with the delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API retrieves the extended delivery properties, these properties are associated with the
delivery via the PaymentAuthorise API.

See also
PreauthAuthorise, SetDeliveryExt

Page 162

EZForecourt Developers Manual

Version 2.3.0.1

8.9.20.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetDeliveryExt

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Plate
Odometer
Odometer2
TransactionID
DriverID
AuthID
AuthType

Type
Int32
String
Double
Double
String
String
String
Int16

API

Description
The ID of the delivery in question.
The vehicle number plate associated with the delivery.
The main odometer reading associated with the delivery.
The second odometer reading associated with the delivery.
The transaction ID string associated with the delivery.
The driver ID string associated with the delivery.
The authorization ID string associated with the delivery.
The authorization type associated with the delivery.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API set the extended properties for a delivery, this API is used internally in the EZserver as a
result of the PaymentAuthorise API, and as such it should not be necessary to do this.

See also
PaymentAuthorise, GetDeliveryExt

Page 163

EZForecourt Developers Manual

Version 2.3.0.1

8.9.21.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetPumpDeliveryProperties(Ex, Ex2, Ex3, Ex4)

Availability – EZTech.EZClient for GetPumpDeliveryProperties
EZTech.EZPump for GetDeliveryProperties

Parameters
Parameter
ID

Type
Int32

API
All

Index

Int16

All

DeliveryID
Type

Int32*
Int16*

All
All

State

Int16*

All

HoseID
HoseNum

Int32*
Int16*

All
All

GradeID

Int32*

GradeName

String*

ShortGradeName

String*

PriceLevel
Price
Volume
Value
LockedBy

Int16*
Double*
Double*
Double*
Int32*

Ex,Ex2,
Ex3,Ex4
Ex,Ex2,
Ex3,Ex4
Ex,Ex2,
Ex3,Ex4
All
All
All
All
All

ReservedBy

Int32*

All

Age

Int32*

All

CompletedDT
AttendantID

Double*
Int32*

All
All

VolumeETot

Double*

Ex

Description
The ID of the pump that made the delivery. This
parameter is not present for the EZTech.EZPump
controls.
The index into the delivery stack on the pump. This
can be from one to the size of the stack, see stack
size parameter in GetNextPumpEvent(Ex, Ex2, Ex3)
/ StatusEvent.
The returned ID of the delivery.
The type of the delivery, see Appendix 3 – Delivery
types for more information.
The current state of the delivery, see Appendix 4 –
Delivery states for more information.
The ID of the hose which made the delivery.
The logical number of the hose which made the
delivery.
The ID of the grade for this delivery.
The name of the grade for this delivery.
The short name of the grade for this delivery.
The price level this delivery was taken at.
The unit price that this delivery was taken at.
The total volume of this delivery.
The total value of this delivery.
The ID of the client that has this delivery locked or
NULL ID if it is unlocked.
The ID of the client who reserved the pump for this
delivery, or NULL ID if it was not reserved.
The time in seconds since this delivery was
completed.
The date and time the delivery was completed.
The ID of the Attendant that authorized this delivery
or was logged onto the pump at the time the delivery
was done. If neither of these was the case then this
is NULL ID.
The electronic volume total for this hose at the end
of this delivery.

Page 164

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Volume2ETot

Double*

Ex

Always returned as zero. Reserved for future use.

ValueETot

Double*

Ex

OldVolumeETot

Double*

OldVolume2ETot

Double*

OldValueETot

Double*

NewVolumeETot

Double*

NemVolume2ETot

Double*

NewValueETot

Double*

Tag

Int64*

Duration

Int32*

CardClientID

Int32*

PeakFlowRate

Double*

Ex2,Ex3,
Ex4
Ex2,Ex3,
Ex4
Ex2,Ex3,
Ex4
Ex2,Ex3,
Ex4
Ex2,Ex3,
Ex4
Ex2,Ex3,
Ex4
Ex,Ex2,
Ex3,Ex4
Ex2,Ex3,
Ex4
Ex3
Ex4
Ex4

The electronic value total for this hose at the end of
this delivery.
The electronic volume total for this hose at the start
of this delivery.
Always returned as zero. Reserved for future use.
The electronic value total for this hose at the start of
this delivery
The electronic volume total for this hose at the end
of this delivery.
Always returned as zero. Reserved for future use.
The electronic value total for this hose at the end of
this delivery
The authorization tag as passed in TagAuthorise or 1 if not authorized by tag auth.
The duration of the delivery in seconds.
The ID of the card client that authorized this delivery,
or NULL ID.
The peak flow achieved during this delivery in liters
per minute.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
NO_DELIVERY_AVAILABLE_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The delivery requested does exist.

Remarks
This API can be used to get all the details about a specific delivery by using the pump ID and
position in the delivery stack.

See also
GetPumpStatus

Page 165

EZForecourt Developers Manual

Version 2.3.0.1

8.9.22.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

ReserveTypeString

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Type

Type
Int16

API

Description
The pump reserve value.

Return value
An English string describing the pump reserve value passed.

Remarks
This API can be used to convert a pump reserve value to a pump reserve description string in
English.

See also
Appendix 2 – Pump reserves

Page 166

EZForecourt Developers Manual

Version 2.3.0.1

8.9.23.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDuration

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Duration

Type
Int32
Int32*

API

Description
The ID of the delivery in question.
The duration of the delivery in seconds.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API retrieves the duration in seconds for a specific delivery.

See also
GetDeliveryProperties(Ex, Ex2, Ex3, Ex4)

Page 167

EZForecourt Developers Manual

Version 2.3.0.1

8.9.24.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

StackCurrentDelivery

EZClient.DLL, EZClient.SO.1, Web Service,
EZTech.EZClient and EZTech.EZPump

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the pump for which to stack the current delivery. This
parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
STACK_IS_DISABLED_RESULT
STACK_FULL_RESULT
NO_CURRENT_DELIVERY_RESULT
DELIVERY_TYPE_CANNOT_BE_STACKED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type,
does not permit this call.
The call to the server timed out.
The connection with the server was
lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
Stacking deliveries is not permitted on
this pump.
The delivery stack for this pump is full.
This pump has no current delivery.
This type of delivery cannot be
stacked.

Remarks
This API pushes the current delivery onto the delivery stack. The state of the delivery will change
from current to stacked and a PumpStatusEvent and DeliveryEvent will be received if it was
successfully stacked.

See also
GetNextPumpEvent(Ex, Ex2, Ex3) / StatusEvent, GetNextDeliveryEvent

Page 168

EZForecourt Developers Manual

Version 2.3.0.1

8.9.25.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeliveryTypeString

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Type

Type
Int16

API

Description
A delivery type value.

Return value
An English string describing the delivery type value passed.

Remarks
This API can be used to convert a delivery type value to a delivery type description string in
English.

See also
Appendix 3 – Delivery types

Page 169

EZForecourt Developers Manual

Version 2.3.0.1

8.9.26.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeliveryStateString

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
State

Type
Int16

API

Description

Return value
An English string describing the delivery state value passed.

Remarks
This API can be used to convert a delivery state value to a delivery state description string in
English.

See also
Appendix 4 – Delivery states

Page 170

EZForecourt Developers Manual

Version 2.3.0.1

Page 171

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.10.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Hoses

Hoses are the point where the fuel is dispenser, they have two parent objects, tanks and pumps.
As such the tanks and pumps must be configured prior to configuring the hoses.

8.10.1.

GetHosesCount

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of hoses configured in the server.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of hoses currently configured in the server. Once
this is known, the IDs of the individual hose objects can be obtained using GetHoseByOrdinal.

See also
GetHoseByOrdinal

Page 172

EZForecourt Developers Manual

Version 2.3.0.1

8.10.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetHoseByOrdinal

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired hose object, this can be between 1 and
the total number of hoses, as returned by GetHosesCount
The returned ID of the hose object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the hose ID of a hose using its ordinal value in the server’s internal
hose objects list. The hoses are ordered in this list by ID.

See also
GetHosesCount

Page 173

EZForecourt Developers Manual

Version 2.3.0.1

8.10.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetHoseProperties(Ex, Ex2)

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

Number

Int32*

All

PumpID
TankID
PhysicalNumber

Int32*
Int32*
Int32*

All
All
All

MtrTheoValue

Double*

All

MtrTheoVolume

Double*

All

MtrElecValue

Double*

All

MtrElecVolume

Double*

All

UVEAntenna
Price1

Int16*
Double*

Ex
Ex2

Price2

Double*

Ex2

Enabled

Int16*

Ex2

Description
The ID of the hose object for which the properties are
being requested.
The logical number of the hose, this number is with
respect to the pump, i.e. a number 1, means the first
hose on this pump.
The ID of the pump to which this hose is connected.
The ID of the tank to which this hose is connected.
The physical number of the hose, this number is unique
across all hoses and represents the public key for this
object.
The current theoretical total dollar value delivered on
this hose, since it was first configured in the system.
The current theoretical total volume delivered on this
hose, since it was first configured in the system.
The current electronic total dollar value delivered on this
hose, as reported by the pump. This value is updated at
the end of every delivery and when a pump starts
responding.
The current electronic total volume delivered on this
hose as reported by the pump. This value is updated at
the end of every delivery and when a pump starts
responding.
The RFiD antenna number associated with this hose.
Specific level 1 price for this hose, or zero if the
associated grades price is to be used.
Specific level 2 price for this hose, or zero if the
associated grades price is to be used.
Is the hose enabled yes/no

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Page 174

EZForecourt Developers Manual

Version 2.3.0.1
Remarks
This API returns all the property values of a hose object for the given ID.

See also
SetHoseProperties(Ex, Ex2), DeleteHose

Page 175

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.10.4.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetHoseProperties(Ex, Ex2)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
Number

Type
Int32
Int32

API
All
All

PumpID
TankID
PhysicalNumber

Int32
Int32
Int32

All
All
All

MtrTheoValue

Double

All

MtrTheoVolume

Double

All

MtrElecValue

Double

All

MtrElecVolume

Double

All

UVEAtenna
Price1

Int16
Double

Ex
Ex2

Price2

Double

Ex2

Enabled

Int16

Ex2

Description
The ID of the hose object for which the properties set.
The logical number of the hose, this number is with
respect to the pump, i.e. a number 1, means the first hose
on this pump.
The ID of the pump to which this hose is connected.
The ID of the tank to which this hose is connected.
The physical number of the hose, this number is unique
across all hoses and represents the public key for this
object.
The current theoretical total dollar value delivered on this
hose, since it was first configured in the system.
The current theoretical total volume delivered on this hose,
since it was first configured in the system.
The current electronic total dollar value delivered on this
hose, as reported by the pump. This value is updated at
the end of every delivery and when a pump starts
responding.
The current electronic total volume delivered on this hose
as reported by the pump. This value is updated at the end
of every delivery and when a pump starts responding.
The RFiD antenna number associated with this hose.
Specific level 1 price for this hose, or zero if the
associated grades price is to be used.
Specific level 2 price for this hose, or zero if the
associated grades price is to be used.
Is the hose enabled yes/no

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT
INVALID_OBJECT_LINK_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.
One of the IDs passed representing a related

Page 176

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

object references a non-existing object.

Remarks
This API is provided so that hose objects can be created and maintained on the EZServer. If the
given hose ID already exists then the properties for this object will be overwritten with the values
passed, otherwise a new hose object with this ID is created and its properties set to the values
passed. It is the responsibility of the caller to ensure that the hose physical number is unique. The
PumpID and TankID must represent objects which already exist on the server or the call will fail.

See also
GetHoseProperties(Ex, Ex2), DeleteHose

Page 177

EZForecourt Developers Manual

Version 2.3.0.1

8.10.5.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteHose

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the hose object to be deleted from the server.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to remove a hose object from the server. If this hose has deliveries linked to it, it
cannot be deleted, delete the delivery objects first. If a hose ID of -1 is passed all the hoses will
be deleted in a single operation.

See also
GetHoseProperties(Ex, Ex2)

Page 178

EZForecourt Developers Manual

Version 2.3.0.1

8.10.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetHosePrices

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
DurationType

Type
Int32
Int16*

PriceType
Price1
Price2

Int16*
Double*
Double*

API

Description
The ID of the hose object for which to get the prices.
The duration for this price see Appendix 19 – Price Duration
Type
The type of price see Appendix 18 – Price Type
The price for level 1 or zero, to use the grade price.
The price for level 2 or zero, to use the grade price.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API can be used to get any temporary or permanent prices set on a specific hose.

See also
SetHosePrices

Page 179

EZForecourt Developers Manual

Version 2.3.0.1

8.10.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetHoseSummary(Ex)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

Description
The ID of the hose object for which the properties are being
requested.
The logical number of the hose, this number is with respect
to the pump, i.e. a number 1, means the first hose on this
pump.
The physical number of the hose, this number is unique
across all hoses and represents the public key for this
object.
The ID of the pump to which this hose is connected.

Number

Int32*

All

PhyscalNumber

Int32*

All

PumpID

Int32*

All

PumpNumber

Int32*

All

PumpName

String*

All

The logical pump number of the fueling position for this
hose.
The name of the fueling position for this hose.

TankID

Int32*

All

The ID of the tank for this hose.

TankNumber

Int32*

All

The number of the tank for this hose.

TankName

String*

All

The name of the tank for this hose.

GradeID

Int32*

All

The grades object identifier for the grade of this hose.

GradeNumber

Int32*

All

The number of the grade for this hose.

GradeName

String*

All

The full name of the grade for this hose.

GradeShortName

String*

All

The short name of the grade for this hose.

GradeCode

String*

All

The grade code for this hose.

MtrTheoValue

Double*

All

MtrTheoVolume

Double*

All

MtrElecValue

Double*

All

MtrElecVolume

Double*

All

Price1

Double*

Ex

Price2

Double*

Ex

The current theoretical total dollar value delivered on this
hose, since it was first configured in the system.
The current theoretical total volume delivered on this hose,
since it was first configured in the system.
The current electronic total dollar value delivered on this
hose, as reported by the pump. This value is updated at the
end of every delivery and when a pump starts responding.
The current electronic total volume delivered on this hose
as reported by the pump. This value is updated at the end
of every delivery and when a pump starts responding.
Specific level 1 price for this hose, or zero if the associated
grades price is to be used.
Specific level 2 price for this hose, or zero if the associated

Page 180

EZForecourt Developers Manual

Version 2.3.0.1

Enabled

Int16*

Ex

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

grades price is to be used.
Is the hose enabled yes/no

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is functionally equivalent to GetHoseProperties(Ex, Ex2), except that it includes and
expends on the pump, tank and grades linked to this hose.

See also
GetHoseProperties(Ex, Ex2), GetHosePrices

Page 181

EZForecourt Developers Manual

Version 2.3.0.1

8.10.8.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetHoseETotals

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Volume
Value

Type
Int32
Double
Double

API

Description
The ID of the hose object in question.
The new volume for MtrElecVolume parameter.
The new value for MtrElecValue parameter.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
With some pumps types or where virtual e-totals are maintained in the server it is possible to
write new e-totals back to the pump. Also in pump types where the e-totals coming from the pump
are truncated at the 1 million, it is possible to write the above 1 million part of the e-totals to the
server. From that point on it is maintained by the server. I.e. the part over one million is
incremented when the e-totals coming from the pump wrap around.

See also
GetHoseProperties(Ex, Ex2)

Page 182

EZForecourt Developers Manual

Version 2.3.0.1

8.10.9.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetHosePrices

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
DurationType

Type
Int32
Int16

PriceType
Price1
Price2

Int16
Double
Double

API

Description
The ID of the hose object for which to set the prices.
The duration for this price see Appendix 19 – Price Duration
Type
The type of price see Appendix 18 – Price Type
The price for level 1 or zero to leave unchanged.
The price for level 2 or zero to leave unchanged.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to set a temporary or permanent price for a specific hose, this price will override
the grade price associated with this hose. Setting it to zero will revert to the grade price.

See also
GetHosePrices

Page 183

EZForecourt Developers Manual

Version 2.3.0.1

Page 184

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.11.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Grades

Grades are the various types of fuels that can be dispensed, they have no parent object and as
such must be configured prior to configuring the tanks.

8.11.1.

GetGradesCount

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of grades configured in the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of grades currently configured in the EZServer.
Once this is known, the IDs of the individual hose objects can be obtained using
GetGradeByOrdinal.

See also
GetGradeByNumber, GetGradeByName, GetGradeByOrdinal, GetGradeProperties

Page 185

EZForecourt Developers Manual

Version 2.3.0.1

8.11.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetGradeByNumber

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number
ID

Type
Int32
Int32*

API

Description
The number of the grade for which the ID is being requested.
The returned ID of the grade object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the grade ID from the grade number.

See also
GetGradesCount, GetGradeByName, GetGradeByOrdinal, GetGradeProperties

Page 186

EZForecourt Developers Manual

Version 2.3.0.1

8.11.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetGradeByName

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the grade object for which the ID is being
requested.
The returned ID of the grade object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ID of the grade from the grade name.

See also
GetGradesCount, GetGradeByNumber, GetGradeByOrdinal, GetGradeProperties

Page 187

EZForecourt Developers Manual

Version 2.3.0.1

8.11.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetGradeByOrdinal

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired grade object, this can be between 1
and the total number of grades, as returned by
GetGradesCount.
The returned ID of the grade.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the grade ID of a grade using its ordinal value in the EZServer’s
internal grade objects list. The grades are ordered in this list by ID.

See also
GetGradesCount, GetGradeByNumber, GetGradeByName, GetGradeProperties

Page 188

EZForecourt Developers Manual

Version 2.3.0.1

8.11.5.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetGradeProperties(Ex)

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

Number
Name
ShortName
Code
Type

Int32*
String*
String*
String*
Int16*

All
All
All
All
Ex

Description
The ID of the grade object for which the properties are being
requested.
The grade number.
The grade name.
The grade short name.
The grade code.
The fuel type as defined in the EZATG.ini file.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a grade object for the given ID.

See also
SetGradeProperties

Page 189

EZForecourt Developers Manual

Version 2.3.0.1

8.11.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetGradeProperties(Ex)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API
All

Number
Name
ShortName
Code
Type

Int32
String
String
String
Int16

All
All
All
All
Ex

Description
The ID of the grade object for which the properties are being
requested.
The grade number.
The grade name.
The grade short name.
The grade code.
The fuel type as defined in the EZATG.ini file.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.

Remarks
This API is provided so that grade objects can be created and maintained on the server. If the
given grade ID already exists then the properties for this object will be overwritten with the values
passed, otherwise a new grade object with this ID is created and its properties set to the values
passed.

See also
GetGradeProperties, DeleteGrade

Page 190

EZForecourt Developers Manual

Version 2.3.0.1

8.11.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteGrade

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the grade object to be deleted from the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to remove a grade object from the EZServer. If this grade has tanks linked to it,
it cannot be deleted, delete the tank objects first. This will also remove any prices associated with
the grade.

See also
SetGradeProperties, SetGradePrice

Page 191

EZForecourt Developers Manual

Version 2.3.0.1

8.11.8.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetGradePrice

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The grade ID of the grade having its price set.

Level

Int16

The price level, must be between 1 and 8.

Price

Double

The price for the grade and price level.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
One of the property values passed is out of
range.

Remarks
This API is provided so that the, prices can be set/changed for each price level grade
combination. To create the price level in the first place simply set a price for this level, if this
grade did not have a price for this level, it will be created and added to the price list. To delete a
price level, other than level 1, set the price to zero. Price level 1 cannot be deleted.

See also
GetGradePrice

Page 192

EZForecourt Developers Manual

Version 2.3.0.1

8.11.9.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetGradePrice

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Level
Price

Type
Int32
Int16
Double*

API

Description
The grade ID of the grade having its price queried.
The price level, must be between 1 and 8.
The price for this grade ID and price level.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to read the price for a specific grade and price level.

See also
SetGradePrice

Page 193

EZForecourt Developers Manual

Version 2.3.0.1

8.12.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Tanks

Tanks are connected to all of the hoses and contain a specific grade, they may have probes and
sensors associated with them. Before configuring the tanks, the grades must be configured, and
tanks must be configured prior to configuring any hoses.

8.12.1.

GetTanksCount

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of tanks configured in the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of tanks currently configured in the EZServer.
Once this is known, the IDs of the individual tank objects can be obtained using
GetTankByOrdinal.

See also
GetTankByNumber, GetTankByName, GetTankByOrdinal, GetTankProperties

Page 194

EZForecourt Developers Manual

Version 2.3.0.1

8.12.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetTankByNumber

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number
ID

Type
Int32
Int32*

API

Description
The number of the grade for which the ID is being requested.
The returned ID of the tank object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the tank ID from the tank number.

See also
GetTanksCount, GetTankByName, GetTankByOrdinal, GetTankProperties

Page 195

EZForecourt Developers Manual

Version 2.3.0.1

8.12.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetTankByName

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name
ID

Type
String
Int32*

API

Description
The name of the tank object for which the ID is being requested.
The returned ID of the tank object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ID of the tank from the tank name.

See also
GetTanksCount, GetTankByNumber, GetTankByOrdinal, GetTankProperties

Page 196

EZForecourt Developers Manual

Version 2.3.0.1

8.12.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetTankByOrdinal

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired tank object, this can be between 1 and
the total number of tanks, as returned by GetTanksCount.
The returned ID of the tank.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the tank ID of a tank using its ordinal value in the EZServer’s internal
tank objects list. The tanks are ordered in this list by ID.

See also
GetTanksCount, GetTankByNumber, GetTankByName, GetTankProperties

Page 197

EZForecourt Developers Manual

Version 2.3.0.1

8.12.5.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetTankProperties(Ex)

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

Number
Name
GradeID
Type

Int32*
String*
Int32*
Int16*

All
All
All
All

Capacity
Diameter
TheoVolume

Double*
Double*
Double*

All
All
All

GaugeVolume

Double*

All

GaugeTCVolume

Double*

All

GaugeUllage

Double*

All

GaugeTemperature

Double*

All

GaugeLevel

Double*

All

GaugeWaterVolume

Double*

All

GaugeWaterLevel

Double*

All

GaugeID
ProbeNo

Int32*
Int16*

All
All

GaugeAlarmsMask

Int32*

Ex

Description
The ID of the tank object for which the properties are
being requested.
The tank number.
The tank name.
The ID of the grade contained in this tank.
The type of the tank. See Appendix 12 – Tank Types
for more information.
The total capacity of the tank in liters or gallons.
The Diameter of the tank in meters or feet.
The theoretical volume of fuel currently in the tank as
calculated by the EZServer.
The volume in the tank as returned by the tank
gauge.
The temperature corrected volume in the tank as
returned by the tank gauge.
The unused or available capacity in the tank as
returned by the tank gauge.
The temperature of the fuel contained in the tank as
reported by the tank gauge.
The level of the fuel in the tank as reported by the
tank gauge.
The volume of water in the bottom of the tank as
reported by the tank gauge.
The level of the water in the bottom of the tank as
reported by the tank gauge.
The ID of the gauge which is monitoring this tank.
The number of the probe as configured in the tank
gauge.
A bit field representing the currently active alarms
etc. see Appendix 24 – Alarms Mask

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Page 198

EZForecourt Developers Manual

Version 2.3.0.1

Remarks
This API returns all the property values of a tank object for the given ID.

See also
SetTankProperties

Page 199

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.12.6.

Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetTankProperties(Ex)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API
All

Number
Name
GradeID
Type

Int32
String
Int32
Int16

All
All
All
All

Capacity
Diameter
TheoVolume

Double
Double
Double

All
All
All

GaugeVolume
GaugeTCVolume

Double
Double

All
All

GaugeUllage

Double

All

GaugeTemperature

Double

All

GaugeLevel

Double

All

GaugeWaterVolume

Double

All

GaugeWaterLevel

Double

All

GaugeID
ProbeNo

Int32
Int16

All
All

GaugeAlarmsMask

Int32

Ex

Description
The ID of the tank object for which the properties are
being set.
The tank number.
The tank name.
The ID of the grade contained in this tank.
The type of the tank. See Appendix 12 – Tank Types
for more information.
The total capacity of the tank in liters or gallons.
The Diameter of the tank in meters or feet.
The theoretical volume of fuel currently in the tank as
calculated by the EZServer.
The volume in the tank as returned by the tank gauge.
The temperature corrected volume in the tank as
returned by the tank gauge.
The unused or available capacity in the tank as
returned by the tank gauge.
The temperature of the fuel contained in the tank as
reported by the tank gauge.
The level of the fuel in the tank as reported by the tank
gauge.
The volume of water in the bottom of the tank as
reported by the tank gauge.
The level of the water in the bottom of the tank as
reported by the tank gauge.
The ID of the gauge which is monitoring this tank.
The number of the probe as configured in the tank
gauge.
A bit field representing the currently active alarms etc.
see Appendix 24 – Alarms Mask

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact

Page 200

EZForecourt Developers Manual

Version 2.3.0.1

INVALID_OBJECT_PARAMETER_RESULT
INVALID_OBJECT_LINK_RESULT

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZTech technical support for assistance.
One of the property values passed is out of
range.
One of the IDs passed representing a related
object references a non-existing object.

Remarks
This API is provided so that tank objects can be created and maintained on the EZServer. If the
given tank ID already exists then the properties for this object will be overwritten with the values
passed, otherwise a new tank object with this ID is created and its properties set to the values
passed. The GradeID must represent a grade which already exists on the server or the call will
fail.

See also
GetTankProperties, DeleteTank

Page 201

EZForecourt Developers Manual

Version 2.3.0.1

8.12.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteTank

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the tank object to be deleted from the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to remove a tank object from the EZServer. If this tank has hoses linked to it, it
cannot be deleted, delete the hose objects first. If a tank ID of -1 is passed all the tanks will be
deleted in a single operation.

See also
SetTankProperties

Page 202

EZForecourt Developers Manual

Version 2.3.0.1

8.12.8.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetTankSummary(Ex)

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

Number
Name
GradeID
GradeNumber
GradeName
GradeShortName
GradeCode
Type

Int32*
String*
Int32*
Int32*
String*
String*
String*
Int16*

All
All
All
All
All
All
All
All

Capacity
Diameter
TheoVolume

Double*
Double*
Double*

All
All
All

GaugeVolume

Double*

All

GaugeTCVolume

Double*

All

GaugeUllage

Double*

All

GaugeTemperature

Double*

All

GaugeLevel

Double*

All

GaugeWaterVolume

Double*

All

GaugeWaterLevel

Double*

All

GaugeID
ProbeNo

Int32*
Int16*

All
All

State

Int16*

Ex

GaugeAlarmsMask

Int32*

Ex

Description
The ID of the tank object for which the properties
are being requested.
The tank number.
The tank name.
The ID of the grade contained in this tank.
The number of the grade contained in this tank.
The name of the grade contained in this tank.
The short name of the grade contained in this tank.
The code of the grade contained in this tank.
The type of the tank. See Appendix 12 – Tank
Types for more information.
The total capacity of the tank in liters or gallons.
The Diameter of the tank in meters or feet.
The theoretical volume of fuel currently in the tank
as calculated by the EZServer.
The volume in the tank as returned by the tank
gauge.
The temperature corrected volume in the tank as
returned by the tank gauge.
The unused or available capacity in the tank as
returned by the tank gauge.
The temperature of the fuel contained in the tank as
reported by the tank gauge.
The level of the fuel in the tank as reported by the
tank gauge.
The volume of water in the bottom of the tank as
reported by the tank gauge.
The level of the water in the bottom of the tank as
reported by the tank gauge.
The ID of the gauge which is monitoring this tank.
The number of the probe as configured in the tank
gauge.
The current state of this tank see Appendix 23 –
Tank State
A bit field representing the currently active alarms
etc. see Appendix 24 – Alarms Mask

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.

Page 203

EZForecourt Developers Manual

Version 2.3.0.1
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is functionally equivalent to GetTankProperties(Ex) however the grade details are
expanded out and included.

See also
GetTankProperties(Ex)

Page 204

EZForecourt Developers Manual

Version 2.3.0.1

8.13.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Ports

Ports are the physical connection via which devices are connected to the EZForecourt, be default
there are up to 4 USB ports, one being internal with up to another three optional external ports,
besides this there is up to 8 serial ports, 2 internal and an optional 6 external. These are typically
used for communications with ATG, or serial emulation of other forecourt controllers. It is also
possible to create Ethernet socket ports for ATGs.

8.13.1.

GetPortsCount

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of ports configured in the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of ports currently configured in the EZServer.
Once this is known, the IDs of the individual port objects can be obtained using
GetPortByOrdinal.

See also
GetPortByNumber, GetPortByName, GetPortByOrdinal, GetPortProperties

Page 205

EZForecourt Developers Manual

Version 2.3.0.1

8.13.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetPortByNumber

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number
ID

Type
Int32
Int32*

API

Description
The number of the port for which the ID is being requested.
The returned ID of the port object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the port ID from the port number.

See also
GetPortsCount, GetPortByName, GetPortByOrdinal, GetPortProperties

Page 206

EZForecourt Developers Manual

Version 2.3.0.1

8.13.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetPortByName

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the port object for which the ID is being
requested.
The returned ID of the port object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ID of the port from the port name.

See also
GetPortsCount, GetPortByNumber, GetPortByOrdinal, GetPortProperties

Page 207

EZForecourt Developers Manual

Version 2.3.0.1

8.13.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetPortByOrdinal

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired port object, this can be between 1
and the total number of ports, as returned by GetPortsCount.
The returned ID of the port object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the ID of a port using its ordinal value in the EZServer’s internal port
objects list. The ports are ordered in this list by ID.

See also
GetPortsCount, GetPortByNumber, GetPortByName, GetPortProperties

Page 208

EZForecourt Developers Manual

Version 2.3.0.1

8.13.5.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetPortProperties

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

Number
Name

In32*
String*

ProtocolID

Int32*

DeviceType
SerialNo

Int16*
String*

API

Description
The ID of the port object for which the properties are being
requested.
The port number.
The port name, this can also be the IP address for an Ethernet
port.
The ID of the protocol that is being used for this port. The list
of supported protocols is being updated continually. Consult
EZTech for an up-to-date list.
The device type for the devices connected to this port.
The serial number of the EZForecourt module that is
connected to this port. If this is a standard serial port then this
property is ignored.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API returns all the property values of a port object for the given ID.

See also
SetPortProperties

Page 209

EZForecourt Developers Manual

Version 2.3.0.1

8.13.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetPortProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the port object for which the properties are being
requested.

Number

Int32

The port number.

Name

String

The port name, this can also be the IP address for an
Ethernet port.

ProtocolID

Int32

The ID of the protocol that is being used for this port. The list
of supported protocols is being updated continually. Consult
EZTech for an up-to-date list.

DeviceType

Int16

The device type for the devices connected to this port. See
Appendix 11 – Device Types for more information.

SerialNo

String

The serial number of the EZForecourt module that is
connected to this port. If this is a standard serial port then
this property is ignored.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT
INVALID_OBJECT_LINK_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.
One of the IDs passed representing a related
object references a non-existing object.

Remarks
This API is provided so that port objects can be created and maintained on the EZServer. If the
given port ID already exists then the properties for this object will be overwritten with the values
passed, otherwise a new port object with this ID is created and its properties set to the values

Page 210

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

passed. The ProtocolID must represent a protocol which is installed on the system or the call will
fail.

See also
GetPortProperties, RemovePort

Page 211

EZForecourt Developers Manual

Version 2.3.0.1

8.13.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

RemovePort

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only. For EZTech.EZClient this API is called RemovePort.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the port object to be deleted from the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to remove a port object from the EZServer. If this port has devices linked to it, it
cannot be deleted, delete the device objects first. If a port ID of -1 is passed all the ports will be
deleted in a single operation.

See also
SetPortProperties

Page 212

EZForecourt Developers Manual

Version 2.3.0.1

8.13.8.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetZB2GConfig

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
PanID
Channels

Type
Int32
Int64*
Int32*

KeyA
KeyB

Int64*
Int64*

API

Description
The ID of the USB port in question, 1 for USB1.
The PAN id for the network.
A bit mask to determine which of the channels can be used.
Only bits 11 thru 26 can be used, and maximum of 3 bits can
be set.
The first half of the encryption key.
The second half of the encryption key.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to retrieve the ZigBee configuration from the EZForecourt.

See also
GetSerialNo, GetDeviceDetails

Page 213

EZForecourt Developers Manual

Version 2.3.0.1

8.13.9.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetSerialNo

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
SerialNo

Type
Int32
String*

API

Description
The ID of the USB port in question 1 for USB1
The return serial number string.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to retrieve the Serial number of the EZForecourt.

See also
GetDeviceDetails, ResetDevice, RequestVersion

Page 214

EZForecourt Developers Manual

Version 2.3.0.1

8.13.10.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetDeviceDetails

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
ZBID

Type
Int32
Int32

SerialNo
BootVersion
FirmwareVersion

String*
String*
String*

API

Description
The ID of the USB port in question, 1 for USB1.
The ZigBeeID of the device in question, it must be greater
than 4.
The returned serial number.
The returned boot code version.
The returned firmware version.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to retrieve the Serial number and firmware of a responding EZRemote.

See also
GetSerialNo, ResetDevice, RequestVersion

Page 215

EZForecourt Developers Manual

Version 2.3.0.1

8.13.11.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

ResetDevice

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
ZBID

Type
Int32
Int32

API

Description
The ID of the USB port in question, 1 for USB1.
The ZigBeeID of the device in question, it must be greater
than 4.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to request that a device performs a software reset.

See also
GetSerialNo, GetDeviceDetails, RequestVersion

Page 216

EZForecourt Developers Manual

Version 2.3.0.1

8.13.12.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

RequestVersion

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
ZBID

Type
Int32
Int32

API

Description
The ID of the USB port in question, 1 for USB1.
The ZigBeeID of the device in question, it must be greater
than 4.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to initiate a version request from an EZRemote. It may take several seconds to
retrieve the version, which can be retrieved with GetDeviceDetails.

See also
GetSerialNo, GetDeviceDetails, ResetDevice

Page 217

EZForecourt Developers Manual

Version 2.3.0.1

8.14.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Attendants

Pump attendants are commonly found in full service gas stations, the attendant objects provide
us with the means to link a delivery to a pump attendant. This is useful for passing the
responsibility of collecting the payment for these delivery to the attendant responsible. It can also
be used for commission or performance monitoring. See Appendix 7 – Pump authorization
modes.

8.14.1.

GetAttendantsCount

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of pump attendants configured in
the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of attendants currently configured in the EZServer.
Once this is known, the IDs of the individual attendant objects can be obtained using
GetAttendantByOrdinal.

See also
GetAttendantByOrdinal, GetAttendantByNumber, GetAttendantByName, GetAttendantProperties

Page 218

EZForecourt Developers Manual

Version 2.3.0.1

8.14.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAttendantByNumber

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number
ID

Type
Int32
Int32*

API

Description
The number of the attendant for which the ID is being requested.
The returned ID of the attendant object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the attendant ID from the attendant number.

See also
GetAttendantsCount, GetAttendantByName, GetAttendantByOrdinal, GetAttendantProperties

Page 219

EZForecourt Developers Manual

Version 2.3.0.1

8.14.3.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAttendantByName

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the attendant object for which the ID is being
requested.
The returned ID of the attendant object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API used to get the ID of the attendant from the attendant name.

See also
GetAttendantsCount, GetAttendantByNumber, GetAttendantByOrdinal, GetAttendantProperties

Page 220

EZForecourt Developers Manual

Version 2.3.0.1

8.14.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAttendantByOrdinal

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired Attendant object, this can be between 1
and the total number of Attendants, as returned by
GetAttendantsCount.
The returned ID of the attendant object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the ID of an attendant using its ordinal value in the EZServer’s
internal attendant objects list. The attendants are ordered in this list by ID.

See also
GetAttendantsCount, GetAttendantByNumber, GetAttendantByName, GetAttendantProperties

Page 221

EZForecourt Developers Manual

Version 2.3.0.1

8.14.5.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAttendantProperties(Ex)

Availability – EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API
All

Number
Name
ShortName
Password
Tag
ShiftAStart

Int32*
String*
String*
String*
String*
Int16*

All
All
All
All
All
Ex

ShiftAEnd

Int16*

Ex

ShiftBStart

Int16*

Ex

ShiftBEnd

Int16*

Ex

Type

Int16*

Ex

Description
The ID of the attendant object for which the properties are
being requested.
The attendant number.
The attendant name.
The attendant short name.
The attendant password used to logon to a pump.
The RFiD tag value as programmed into the attendant card.
The time that the first shift for this attendant begins, it is in
minutes from midnight, for example, 00:00 am = 0, 12:00pm =
720, 23:59 = 1439.
The time that the first shift for this attendant ends, it is in
minutes from midnight.
The time that the second shift for this attendant begins, it is in
minutes from midnight.
The time that the first shift for this attendant ends, it is in
minutes from midnight.
The pump attendant type, see Appendix 24 – Attendant Type

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of an attendant object for the given ID.

See also
SetAttendantProperties

Page 222

EZForecourt Developers Manual

Version 2.3.0.1

8.14.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetAttendantProperties(Ex)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Number
Name
ShortName
Password
Tag
ShiftAStart

Int32
Int32
Int32
String
String
Int16

Ex
Ex

ShiftAEnd

Int16

Ex

ShiftBStart

Int16

Ex

ShiftBEnd

Int16

Ex

Type

Int16

Ex

Description
The ID of the attendant object for which the properties are
being requested.
The attendant number.
The attendant name.
The attendant short name.
The attendant password used to logon to a pump.
The RFiD tag value as programmed into the attendant card.
The time that the first shift for this attendant begins, it is in
minutes from midnight, for example, 00:00 am = 0, 12:00pm =
720, 23:59 = 1439.
The time that the first shift for this attendant ends, it is in
minutes from midnight.
The time that the second shift for this attendant begins, it is in
minutes from midnight.
The time that the first shift for this attendant ends, it is in
minutes from midnight.
The pump attendant type, see Appendix 24 – Attendant Type

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
INVALID_OBJECT_PARAMETER_RESULT
TAG_ALREADY_IN_USE_ERROR_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
One of the property values passed is out of
range.
The new tag value is already in use by another
pump attendant or card client.

Remarks
This API is provided so that attendant objects can be created and maintained on the EZServer. If
the given attendant ID already exists the properties for this object will be overwritten with the

Page 223

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

values passed, otherwise a new attendant object with this ID is created and its properties set to
the values passed.

See also
GetAttendantProperties, SetAttendantProperties

Page 224

EZForecourt Developers Manual

Version 2.3.0.1

8.14.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteAttendant

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the attendant object to be deleted from the
EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to remove an attendant object from the EZServer. If this attendant is currently
logged onto one or more pumps, the call will fail.

See also
SetAttendantProperties

Page 225

EZForecourt Developers Manual

Version 2.3.0.1

8.14.8.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

AttendantLogon

EZClient.DLL, EZClient.SO.1, Web Service, EZTech.EZClient and
EZTech.EZPump

Parameters
Parameter
ID
PumpID

Type
Int32
Int32

API

Description
The ID of the attendant logging on.
The ID of the pump this attendant is logging onto, or NULL_ID.
This parameter is not present for the EZTech.EZPump controls.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

OBJECT_DOES_NOT_EXIST_RESULT
PUMP_IN_WRONG_AUTH_MODE_RESULT

ATTENDANT_ALREADY_LOGGED_ON_RESULT

PUMP_HAS_DELIVERIES_RESULT
INVALID_LOGON_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does
not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object referenced does not exist.
The pump that the attendant is attempting
to logon to is not in one of the attendant
authorization modes.
The pump the attendant is attempting to
logon to, already has an attendant logged
on to it.
The pump being logged on to has
uncleared deliveries.
This attendant is currently blocked.

Remarks
This API is used to log an attendant onto a pump. While the attendant remains logged onto this
pump, all deliveries done on this pump will logged to this attendant. If the attendant is logged on
without specifying a pump, this simply enables the card for the pump attendant.

See also
AttendantLogoff

Page 226

EZForecourt Developers Manual

Version 2.3.0.1

8.14.9.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

AttendantLogoff

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the attendant logging off.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
ATTENDANT_NOT_LOGGED_ON_RESULT
PUMP_HAS_DELIVERIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The attendant being logged off, is not currently
logged on.
The pump being logged off has uncleared
deliveries.

Remarks
This API is used to log an attendant off a pump. This will log the attendant off all logged on
pumps and close the open attendant report for this attendant.

See also
AttendantLogon, RemovePort, SetPortProperties

Page 227

EZForecourt Developers Manual

Version 2.3.0.1

8.14.10.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetAttendantState

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

Type

Int16*

LoggedOn

Int16*

API

Description
The ID of the attendant object for which the state is being
requested.
The type of pump attendant, see Appendix 24 – Attendant
Type
A true or false value as to whether the pump attendant is
currently logged on or not.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is provided to query the current logged on state of the given pump attendant.

See also
GetAttendantProperties(Ex)

Page 228

EZForecourt Developers Manual

Version 2.3.0.1

8.15.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Card Clients

The card client object is an object which defines and identifies a client for purchasing fuel. This
could be a vehicle, motorist or company. Associated with the card client is an RFiD card that is
used to identify the customer and optionally authorize a delivery. See Appendix 7 – Pump
authorization modes.

8.15.1.
Availability –

GetCardClientsCount

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of card clients configured in the
EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used determine the total number of card clients currently configured in the EZServer.
Once this is known, the IDs of the individual card client objects can be obtained using
GetCardClientByOrdinal.

See also
GetCardClientByOrdinal

Page 229

EZForecourt Developers Manual

Version 2.3.0.1

8.15.2.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardClientByNumber

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number

Type
Int32

ID

Int32*

API

Description
The number of the card client for which the ID is being
requested.
The returned ID of the card client object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the card client ID from the card client number.

See also
GetCardClientByName, GetCardClientByOrdinal, GetCardClientsCount

Page 230

EZForecourt Developers Manual

Version 2.3.0.1

8.15.3.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardClientByName

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the card client object for which the ID is being
requested.
The returned ID of the card client object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ID of the card client from the card client name.

See also

Page 231

EZForecourt Developers Manual

Version 2.3.0.1
GetZigBeeByNumber, GetZigBeeByOrdinal, GetZigBeeCount

Page 232

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.15.4.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardClientByOrdinal

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired card client object, this can be
between 1 and the total number of card client, as returned by
GetCardClientsCount.
The returned ID of the card client object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the ID of a card client using its ordinal value in the EZServer’s internal
card client objects list. The card clients are ordered in this list by ID.

See also
GetCardClientsCount, GetCardClientByNumber, GetCardClientByName

Page 233

EZForecourt Developers Manual

Version 2.3.0.1

8.15.5.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardClientProperties(Ex,Ex2)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Number
Name
Tag

Type
Int32
Int32*
String*
String*

API
All
All
All
All

Enabled
PriceLevel

Int16*
Int16*

All
Ex,Ex2

Plate
GradeType

String*
Int16*

Ex,Ex2
Ex2

CardType

Int16*

Ex2

LimitType

Int16*

Ex2

Limit

Double*

Ex2

EntryType

Int16*

Ex2

ExpirationDate
ParentID

Date*
long*

Ex2
Ex2

Description
The ID of the card client being queried.
The card client number.
The card client name.
The RFiD tag for this client as read form the RFiD
card.
A true/false flag to enable/disable this client.
The level of the price to be used for this card client,
this must be one of the levels defined for all of the
grades.
The vehicle number plate.
The type of grade permitted for this card client, or zero
for all, see EZATG INI file and
GetGradeProperties(Ex)
The card type of this card client, see Appendix 27 –
Card Types.
The delivery limit type, see Appendix 9 – Pump limit
types
The delivery volume of value limit to be applied for this
card, this depends on the LimitType field.
The type of additional manual data entry required for
this card, see Appendix 28 – Entry Types
The expiration date for this card.
If this is a secondary card type, this filed is the ID of
the primary card to which this is linked.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a card client object for the given ID.

Page 234

EZForecourt Developers Manual

Version 2.3.0.1

See also
SetCardClientProperties(Ex, Ex2), EZATG INI file, GetGradeProperties(Ex)

Page 235

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.15.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetCardClientProperties(Ex, Ex2)

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
Number
Name
Tag
Enabled
PriceLeve

Type
Int32
Int32
String
String
Int16
Int16

API
All
All
All
All
All
Ex,Ex2

Plate
GradeType

String
Int16

Ex,Ex2
Ex2

CardType

Int16

Ex2

LimitType
Limit

Int16
Double

Ex2
Ex2

EntryType

Int16

Ex2

ExpirationDate
ParentID

Date
Long

Ex2
Ex2

Description
The ID of the card client being updated,
The card client number.
The card client name.
The RFiD tag for this client as read form the RFiD card.
A true/false flag to enable/disable this client.
The level of the price to be used for this card client, this
must be one of the levels defined for all of the grades.
The vehicle number plate.
The type of grade permitted for this card client, or zero for
all, see EZATG INI file and GetGradeProperties(Ex)
The card type of this card client, see Appendix 27 – Card
Types.
The delivery limit type, see Appendix 9 – Pump limit types
The delivery volume of value limit to be applied for this
card, this depends on the LimitType field.
The type of additional manual data entry required for this
card, see Appendix 28 – Entry Types
The expiration date for this card.
If this is a secondary card type, this filed is the ID of the
primary card to which this is linked.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT
TAG_ALREADY_IN_USE_ERROR_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.
The new tag value is already in use by another
pump attendant or card client.

Remarks
This API is provided so that card client objects can be created and maintained on the EZServer. If
the given card client ID already exists the properties for this object will be overwritten with the

Page 236

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

values passed, otherwise a new card client object with this ID is created and its properties set to
the values passed.

See also
GetCardClientProperties(Ex,Ex2), DeleteCardClient

Page 237

EZForecourt Developers Manual

Version 2.3.0.1

8.15.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteCardClient

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the card client object to delete.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
The ID of the card client object to be deleted from the EZServer.

See also
SetCardClientProperties(Ex, Ex2)

Page 238

EZForecourt Developers Manual

Version 2.3.0.1

8.16.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Card Reads

The card read object is a temporary object created in the EZServer whenever an RFiD card is
read from one of the RFiD readers attached to the EZremotes or other devices. These objects
remain in the system until they are deleted by DeleteCardRead or timeout after 60 seconds.
These card reads can be received as events in GetNextCardReadEvent / CardReadEvent as
events of type CARD_READ_EVENT, or polled for using the GetCardReadsCount API etc. When
a card read is generated it is pre-consulted in the attendants and card clients lists to see if it is a
configured card.

8.16.1.
Availability –

GetCardReadsCount

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of card reads cached in the
EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine of card reads currently waiting in the internal card reads cache in
the EZServer.

See also
GetCardReadByOrdinal, GetCardReadProperties, DeleteCardRead

Page 239

EZForecourt Developers Manual

Version 2.3.0.1

8.16.2.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardReadByNumber

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number
ID

Type
Int32
Int32*

API

Description
The number of the card read in question.
The ID of the card read returned.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is provided convert the card read number into its corresponding card ID. The number
parameter for a card read depends on the associated object, it will the pump attendant, card
client number or 0.

See also
GetCardReadByOrdinal, GetCardReadByName

Page 240

EZForecourt Developers Manual

Version 2.3.0.1

8.16.3.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardReadByOrdinal

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired card read object, this can be
between 1 and the total number of card reads, as returned by
GetCardReadsCount.
The returned ID of the card read object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the card read ID using its ordinal value in the EZServer’s internal card
reads objects list. The card reads are ordered in this list by ID.

See also
GetCardReadsCount, GetCardReadByNumber, GetCardReadByName

Page 241

EZForecourt Developers Manual

Version 2.3.0.1

8.16.4.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardReadByName

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the card read object for which the ID is being
requested.
The returned ID of the card read object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns the ID of a card read for a given name. The name parameter of a card is
determined the parent object, either a pump attendant or card client name is required.

See also
GetCardReadByNumber, GetCardReadByOrdinal

Page 242

EZForecourt Developers Manual

Version 2.3.0.1

8.16.5.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardReadProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
Number

Type
Int32
Int32*

Name

String*

PumpID
Type

Int32*
Int16*

ParentID

Int32*

Tag
TimeStamp

Int64*
DateTime*

API

Description
The ID of the card read object being queried.
The number of the pump attendant or card client
associated with this card read.
The name of the pump attendant or card client associated
with this card read.
The ID of the fueling point, where this card was read.
The type of card read, see Appendix 26 – Card Read
Types
The ID of the parent object of this card read, this will either
be an Attendant or Card Client ID.
The tag of the RFiD card as read from the card.
The time and date that the card was read.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to query all of the attributes of this card read. When a card read object is created
the pump attendants and card client lists are consulted to see I this card is registered, if the
number, name, parentID and type fields are populated.

See also
SetCardReadProperties

Page 243

EZForecourt Developers Manual

Version 2.3.0.1

8.16.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetCardReadProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Number

Type
Int32
Int32

Name

String

PumpID
Type

Int32
Int16

ParentID

Int32

Tag
TimeStamp

Int64
DateTime

API

Description
The ID of the card read object being updated.
The number of the pump attendant or card client
associated with this card read.
The name of the pump attendant or card client associated
with this card read.
The ID of the fueling point, where this card was read.
The type of card read, see Appendix 26 – Card Read
Types
The ID of the parent object of this card read, this will either
be an Attendant or Card Client ID.
The tag of the RFiD card as read from the card.
The time and date that the card was read.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.

Remarks
This API can be used to create a new card read object in the internal list of the EZServer. This
API is used internally when a card read is detected.

See also
GetCardReadProperties

Page 244

EZForecourt Developers Manual

Version 2.3.0.1

8.16.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteCardRead

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of card read object to be deleted from the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API removes the card read object form the internal list of the EZServer.

See also
SetCardReadProperties

Page 245

EZForecourt Developers Manual

Version 2.3.0.1

8.16.8.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetCardType

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Tag
TagType
ID

Type
String
Int16*
Int32*

Name

String*

Number

Int32*

API

Description
The RFiD card tag, to be consulted.
The type of card tag see Appendix 26 – Card Read Types
The ID od the associated object, a pump attendant, card
client or NULL_ID
The name of the associated object, either a pump attendant
or card client.
The number of the associated object, either a pump
attendant or card client.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is provided to consult the internal card client and pump attendants list for a specific RFiD
card tag, if it is found, the card details etc. are returned.

See also
GetCardReadProperties, GetAttendantProperties(Ex), GetCardClientProperties(Ex,Ex2)

Page 246

EZForecourt Developers Manual

Version 2.3.0.1

8.17.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

ZigBee devices

ZigBee device objects are devices connected to the EZserver via the ZigBee wireless network, at
this stage they are limited to EZRemote devices. In order to connect a pump to an EZRemote a
ZigBee device must be created and configured first.

8.17.1.
Availability –

GetZigBeeCount

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of ZigBee devices configured in
the EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used determine the total number of ZigBee devices currently configured in the
EZServer. Once this is known, the IDs of the individual ZigBee devices can be obtained using
GetZigBeeByOrdinal.

See also
GetZigBeeByOrdinal, GetZigBeeByNumber, GetZigBeeByName

Page 247

EZForecourt Developers Manual

Version 2.3.0.1

8.17.2.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetZigBeeByNumber

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number

Type
Int32

ID

Int32*

API

Description
The number of the ZigBee device for which the ID is being
requested.
The returned ID of the ZigBee device object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ZigBee device ID from the ZigBee device number.

See also
GetZigBeeByName, GetZigBeeByOrdinal, GetZigBeeCount

Page 248

EZForecourt Developers Manual

Version 2.3.0.1

8.17.3.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetZigBeeByName

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name

Type
String

ID

Int32*

API

Description
The name of the ZigBee device for which the ID is being
requested.
The returned ID of the ZigBee device object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ID of the ZigBee device from the ZigBee device name.

See also
GetZigBeeByNumber, GetZigBeeByOrdinal, GetZigBeeCount

Page 249

EZForecourt Developers Manual

Version 2.3.0.1

8.17.4.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetZigBeeByOrdinal

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired ZigBee device, this can be between
1 and the total number of ZigBee devices, as returned by
GetZigBeeCount.
The returned ID of the ZigBee device object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the ID of a ZigBee device using its ordinal value in the EZServer’s
internal ZigBee device objects list. The ZigBee device are ordered in this list by ID.

See also
GetZigBeeByNumber, GetZigBeeByName, GetZigBeeCount

Page 250

EZForecourt Developers Manual

Version 2.3.0.1

8.17.5.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetZigBeeProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Number
Name
DeviceType

Type
Int32
Int32*
String*
Int16*

SerialNumber
Nodeldentifier
PortID

String*
String*
Int32*

API

Description
The ID of the ZigBee device being queried.
The number of the ZigBee device.
The name of the ZigBee device.
The type of ZigBee device see Appendix 16 – Remote
device type
The serial number of this device in the format nnnn/nn.
Reserved for CTF.
The ID of the port that is associated with the ZigBee network,
usually 1 for USB1.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a ZigBee device object for a given ID.

See also
SetZigBeeProperties

Page 251

EZForecourt Developers Manual

Version 2.3.0.1

8.17.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetZigBeeProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
Number
Name
DeviceType

Type
Int32
Int32
String
Int16

SerialNumber
Nodeldentifier
PortID

String
String
Int32

API

Description
The ID of the ZigBee device being updated.
The number of the ZigBee device.
The name of the ZigBee device.
The type of ZigBee device see Appendix 16 – Remote
device type
The serial number of this device in the format nnnn/nn.
Reserved for CTF.
The ID of the port that is associated with the ZigBee network,
usually 1 for USB1.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.

Remarks
This API is provided so that ZigBee device objects can be created and maintained on the
EZServer. If the given ZigBee device ID already exists the properties for this object will be
overwritten with the values passed, otherwise a new ZigBee device object with this ID is created
and its properties set to the values passed.

See also
GetZigBeeProperties

Page 252

EZForecourt Developers Manual

Version 2.3.0.1

8.17.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteZigBee

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the ZigBee device object to delete.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
This object cannot be deleted as there are other
objects in the server which have references to it.

Remarks
This API is used to delete a ZigBee device object from the EZServer.

See also
SetZigBeeProperties

Page 253

EZForecourt Developers Manual

Version 2.3.0.1

8.18.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Sensors

Sensors are a device for detecting the presence of liquid, they are primarily used around fuel
tanks to detect leaks. They are usually connected to the ATG and will generate an alarm when
the presence of liquid is detected. There is no specific event directly associated with sensors,
however when triggered they will generate a LogEvent alarm.

8.18.1.
Availability –

GetSensorsCount

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

API

Description
The returned total number of sensors configured in the
EZServer.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of sensors currently configured in the EZServer.
Once this is known, the IDs of the individual sensors can be obtained using GetSensorByOrdinal.

See also
GetSensorByOrdinal, GetSensorProperties

Page 254

EZForecourt Developers Manual

Version 2.3.0.1

8.18.2.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetSensorByNumber

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Number
ID

Type
Int32
Int32*

API

Description
The number of the sensor for which the ID is being requested.
The returned ID of the sensor object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the sensor ID from the sensor number.

See also
GetSensorByName, GetSensorByOrdinal, GetSensorsCount

Page 255

EZForecourt Developers Manual

Version 2.3.0.1

8.18.3.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetSensorByName

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Name
ID

Type
String
Int32*

API

Description
The name of the sensor for which the ID is being requested.
The returned ID of the sensor object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
Use this API to get the ID of the sensor from the sensor name.

See also
GetSensorByNumber, GetSensorByOrdinal, GetSensorsCount

Page 256

EZForecourt Developers Manual

Version 2.3.0.1

8.18.4.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetSensorByOrdinal

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID

Int32*

API

Description
The index of the desired sensor, this can be between 1 and
the total number of sensors, as returned by
GetSensorsCount.
The returned ID of the sensor object.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the ID of a sensor using its ordinal value in the EZServer’s internal
sensor objects list. The sensors are ordered in this list by ID.

See also
GetSensorsCount, GetSensorByNumber, GetSensorByName

Page 257

EZForecourt Developers Manual

Version 2.3.0.1

8.18.5.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetSensorProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
Number
Name
PortID
Type
Address
SensorNo

Type
Int32
Int32*
String*
Int32*
Int16*
Int16*
Int16*

API

Description
The ID of the sensor being queried.
The number of the sensor.
The name of the sensor.
The ID of the port where the ATG is connected, see Ports
The sensor type, must be 1, reserved for future use.
The address of the sensor control card, usually 1.
The sensor number on this control card.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a sensor object for a given ID.

See also
SetSensorProperties, GetSensorStatus

Page 258

EZForecourt Developers Manual

Version 2.3.0.1

8.18.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetSensorProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
Number
Name
PortID
Type
Address
SensorNo

Type
Int32
Int32
String
Int32
Int16
Int16
Int16

API

Description
The ID of the sensor being updated.
The number of the sensor.
The name of the sensor.
The ID of the port where the ATG is connected, see Ports
The sensor type, must be 1, reserved for future use.
The address of the sensor control card, usually 1.
The sensor number on this control card.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.

Remarks
This API is provided so that sensor objects can be created and maintained on the EZServer. If
the given sensor ID already exists the properties for this object will be overwritten with the values
passed, otherwise a new sensor object with this ID is created and its properties set to the values
passed.

See also
GetSensorProperties

Page 259

EZForecourt Developers Manual

Version 2.3.0.1

8.18.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetSensorStatus

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
State
Responding

Type
Int32
Int16*
Int16*

API

Description
The ID of the sensor being queried.
A true/false flag for the state of the sensor.
A true/false flag to indicate if the sensor is responding or not.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to query the status of a specific sensor.

See also
SetSensorStatus, GetSensorProperties

Page 260

EZForecourt Developers Manual

Version 2.3.0.1

8.18.8.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetSensorStatus

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
State
Responding

Type
Int32
Int16
Int16

API

Description
The ID of the sensor being updated.
A true/false flag for the state of the sensor.
A true/false flag to indicate if the sensor is responding or not.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
The API is used to update the state of a sensor, this API is called internally in the EZServer and
should not be called by a client application.

See also
GetSensorStatus

Page 261

EZForecourt Developers Manual

Version 2.3.0.1

8.18.9.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteSensor

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the sensor object to delete.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_HAS_DEPENDANCIES_RESULT
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
This object cannot be deleted as there are other
objects in the server which have references to it.
The object referenced does not exist.

Remarks
This API is used to delete a sensor object from the EZServer.

See also
SetSensorProperties

Page 262

EZForecourt Developers Manual

Version 2.3.0.1

8.19.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Logged events

The Event Log is a list of events that are recorded to keep track of exception or normal events.
These could alarms, warnings or simply information events regarding the forecourt controller or
connected devices.

8.19.1.
Availability –

GetLogEventCount

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Count

Type
Int32*

DeviceType

Int16

DiviceID

Int32

EventLevel

Int16

EventType

Int16

ClearedBy

Int32

AckedBy

Int32

API

Description
The returned total number of sensors configured in the
EZServer that form to the filter passed in following
parameters.
The device type that we are interested in or -1 for all device
types. See Appendix 20 – Log Event Device Type
The Device ID that we are interested in, or NULL_ID for all
devices. To specify a specific ID you must also specify the
Device type.
The event level that we are interested in or -1 for all levels,
see Appendix 21 – Log Event Level
The event type that we are interested in or -1 for all types,
Appendix 22 – Log Event Type
The client ID that cleared the events, or -2 for all events,
passing NULL_ID will return all the uncleared events.
The client ID that acknowledged the events, or -2 for all
events, passing NULL_ID will return all of the
unacknowledged events.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact EZTech
technical support for assistance.

Remarks
This API is used to determine the total number of logged events currently in the EZServer. Once
this is known, the IDs of the individual events can be obtained using GetLogEventByOrdinal. The
parameters to this API provide a way of filtering the entire events log to obtain only those events
of interest.

Page 263

EZForecourt Developers Manual

Version 2.3.0.1

See also
GetLogEventByOrdinal

Page 264

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.19.2.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetLogEventByOrdinal

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
Index

Type
Int32

ID
DeviceType

Int32*
Int16

DeviceID

Int32

EventLevel

Int16

EventType

Int16

ClearedBy

Int32

AckedBy

Int32

API

Description
The index of the desired log event, this can be between 1
and the total number of log events, as returned by
GetLogEventByOrdinal.
The returned ID of the log event object.
The device type that we are interested in or -1 for all device
types. See Appendix 20 – Log Event Device Type
The Device ID that we are interested in, or NULL_ID for all
devices. To specify a specific ID you must also specify the
Device type.
The event level that we are interested in or -1 for all levels,
see Appendix 21 – Log Event Level
The event type that we are interested in or -1 for all types,
Appendix 22 – Log Event Type
The client ID that cleared the events, or -2 for all events,
passing NULL_ID will return all the uncleared events.
The client ID that acknowledged the events, or -2 for all
events, passing NULL_ID will return all of the
unacknowledged events.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API is used to retrieve the ID of a log event using its ordinal value in the EZServer’s internal
filtered log event objects list. The log events are ordered in this list by ID. The filter parameters
passed to this API must be the same as those passed to GetLogEventCount.

See also
GetLogEventCount, GetLogEventProperies

Page 265

EZForecourt Developers Manual

Version 2.3.0.1

8.19.3.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

GetLogEventProperies

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

DeviceType

Int16*

DeviceID
DeviceNumber
DeviceName
EventLevel
EventType
EventDesc
GeneratedDT
ClearedDT
ClearedBy
AckedBy

Int32*
Int32*
String*
Int16*
Int16*
String*
DateTime*
Int32*
Int32*
Int32*

Volume

Double*

Value

Double*

ProductVolume

Double*

ProductLevel

Double*

WaterLevel
Temperature

Double*
Double*

API

Description
This ID of the Log Event, this is generated by the
EZServer when the event was created.
The type of the device that generated the event see
Appendix 20 – Log Event Device Type
The ID of the device that generated the event
The number of the device that generated the event
The name of the device that generated the event
The level of the event see Appendix 21 – Log Event Level
The type of the event see Appendix 22 – Log Event Type
The event description.
The time and date the event was generated.
The time and date the event was cleared.
The client ID that cleared the event see ClearLogEvent
The client ID that acknowledged the event see
AckLogEvent
A volume associated with this event, depends on the
event type.
A value associated with this event, depends on the event
type.
The volume of product in the tank if this is a tank related
event.
The level of product in the tank if this is a tank related
event.
The water level in the tank if this is a tank related event.
The temperature in the tank if this is a tank related event.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not permit
this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.

Remarks
This API returns all the property values of a log event object for a given ID.

Page 266

EZForecourt Developers Manual

Version 2.3.0.1

See also
SetLogEventProperties

Page 267

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

8.19.4.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

SetLogEventProperties

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient
For DB clients only.

Parameters
Parameter
ID
DeviceType

Type
Int32
Int16

DeviceID
DeviceNumber
DeviceName
EventLevel
EventType
EventDesc
GeneratedDT
ClearedDT
ClearedBy
AckedBy

Int32
Int32
String
Int16
Int16
String
DateTime
DateTime
Int32
Int32

Volume

Double

Value

Double

ProductVolume

Double

ProductLevel

Double

WaterLevel
Temperature

Double
Double

API

Description
The ID of the Log Event being updated.
The type of the device that generated the event see
Appendix 20 – Log Event Device Type
The ID of the device that generated the event
The number of the device that generated the event
The name of the device that generated the event
The level of the event see Appendix 21 – Log Event Level
The type of the event see Appendix 22 – Log Event Type
The event description.
The time and date the event was generated.
The time and date the event was cleared.
The client ID that cleared the event see ClearLogEvent
The client ID that acknowledged the event see
AckLogEvent
A volume associated with this event, depends on the
event type.
A value associated with this event, depends on the event
type.
The volume of product in the tank if this is a tank related
event.
The level of product in the tank if this is a tank related
event.
The water level in the tank if this is a tank related event.
The temperature in the tank if this is a tank related event.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
INVALID_OBJECT_PARAMETER_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
One of the property values passed is out of
range.

Remarks

Page 268

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Log events are created internally by the EZServer, this API is used internally and should not be
called via an external client.

See also
GetLogEventProperies

Page 269

EZForecourt Developers Manual

Version 2.3.0.1

8.19.5.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

DeleteLogEvent

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID

Type
Int32

API

Description
The ID of the log event object to delete.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_HAS_DEPENDANCIES_RESULT
OBJECT_DOES_NOT_EXIST_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
This object cannot be deleted as there are other
objects in the server which have references to it.
The object referenced does not exist.

Remarks
This API is used to delete a log event object from the EZServer. Log event management and
deletion etc. is managed by the EZServer, as such it is not necessary to all this API from an
external client.

See also
SetLogEventProperties

Page 270

EZForecourt Developers Manual

Version 2.3.0.1

8.19.6.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

ClearLogEvent

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
ClientID

Type
Int32
Int32

API

Description
The ID of the log event object to cleared.
The ID of the client clearing the log event.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
LOG_EVENT_ALREADY_ACKED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The log event object has already been cleared.

Remarks
Log events of a warning or alarm level, must be acknowledged and cleared by a user, active
alarms will cause the internal beep to beep continuously. Clearing the alarm stops the beeper.
Some alarms will auto clear when the condition is no longer critical.

See also
AckLogEvent

Page 271

EZForecourt Developers Manual

Version 2.3.0.1

8.19.7.
Availability –

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

AckLogEvent

EZClient.DLL, EZClient.SO.1, Web Service and EZTech.EZClient

Parameters
Parameter
ID
ClientID

Type
Int32
Int32

API

Description
The ID of the log event object to acknowledged.
The ID of the client acknowledging the log event.

Return value
Error code
OK_RESULT
NOT_LOGGED_ON_RESULT
INVALID_CLIENT_TYPE
SERVER_TIMEOUT
CONNECTION_BROKEN
INTERNAL_SERVER_ERROR
OBJECT_DOES_NOT_EXIST_RESULT
LOG_EVENT_ALREADY_ACKED_RESULT

Error description
The call was successful.
The client is not currently logged on.
The currently logged on client type, does not
permit this call.
The call to the server timed out.
The connection with the server was lost.
An unspecified internal error occurred; contact
EZTech technical support for assistance.
The object referenced does not exist.
The log event object has already been cleared.

Remarks
This API is used to acknowledge the log event. The acknowledged functionality is provided so
that a third party system can upload the log events to a data base or similar. The log events will
be retained in the EZServer until they are acknowledged. For this to work the ConfirmEventLog
flag in the EZATG INI file must be set to Yes, otherwise the events will be auto acknowledged
when they are created.

See also
ClearLogEvent

Page 272

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

9. Appendices
Appendix 1 – Pump states

9.1.
Value
0

Name

1

NOT_INSTALLED_PUMP_STATE

2

NOT_RESPONDING_1_PUMP_STATE

3

IDLE_PUMP_STATE

4

PRICE_CHANGE_STATE

5

AUTHED_PUMP_STATE

6

CALLING_PUMP_STATE

7

DELIVERY_STARTING_PUMP_STATE

8

DELIVERING_PUMP_STATE

9

TEMP_STOPPED_PUMP_STATE

10

DELIVERY_FINISHING_PUMP_STATE

11

DELIVERY_FINISHED_PUMP_STATE

12

DELIVERY_TIMEOUT_PUMP_STATE

13

HOSE_OUT_PUMP_STATE

14

PREPAY_REFUND_TIMEOUT_STATE

INVALID_PUMP_STATE

Description
The EZTech.EZPump control has lost it connection
with the server.
The pump not installed, it has most likely been
deleted.
The pump is installed but is not responding to the
server or to the EZRemote.
The pump is responding and is idle, all hoses are
stowed, if a hose is pulled it will call for
authorization, i.e. it will not start delivering without
manual authorization.
The pump is currently performing a price change.
This state only exists for certain pump types.
The pump is idle with all of its hoses stowed. If a
hose is pulled it will start delivering automatically.
A hose was pulled while the pump was in the
IDLE_PUMP_STATE, it will not start delivering until
it receives a manual authorization.
A hose has been pulled and the pump is
authorized, however the volume in progress total is
still zero.
A hose is pulled and the volume in progress is not
zero.
The pump has been temp stopped while in one of
the delivering states. To get it out of this state the
pump will require re-authorizing or the pump
delivery will need to be terminated.
The pump is delivering; however the volume in
progress total has not changed in the last 5
seconds.
A hose has been returned after a delivering some
fuel. The state is temporary and only exists while
the server retrieves the delivery totals and pump
electronic totals from the pump.
The pump has been in one of the delivering states
for more than the ‘Delivering Timeout’ as
configured in the EZServer.ini file.
The pump has been in the
DELIVERY_FINISHING_PUMP_STATE for more
than the ‘HoseOutTimeout’ as configured in the
EZServer.ini file.
A prepay delivery has finished and a refund was
generated. The pump then remains locked out for

Page 273

EZForecourt Developers Manual

Version 2.3.0.1

15

DELIVERY_TERMINATED_STATE

16

ERROR_PUMP_STATE

17

NOT_RESPONDING_2_PUMP_STATE

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

‘PrepayRefundTimeout’ seconds as configured in
the EZServer.ini file.
A delivery has been terminated on this pump and
the hose has not been returned yet. See
The pump has entered an error state; This is pump
type specific.
The pumps is installed via an EZRemote, and the
EZRemote is not responding to the server.

Page 274

EZForecourt Developers Manual

Version 2.3.0.1

9.2.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 2 – Pump reserves types

Value
1
2

Name
NOT_RESERVED
RESERVED_FOR_PREPAY

3

AUTHED_FOR_PREPAY

4

RESERVED_FOR_PREAUTH

5

AUTHED_FOR_PREAUTH

6

RESERVED_FOR_CTF

Description
There are no reserves placed on the pump.
The pump has been reserved for a prepay delivery
and is waiting for the prepay authorization.
The pump has been authorized for a prepay delivery
and is waiting for the client to complete the delivery.
The pump has been reserved for a preauth delivery
and is waiting for the preauth authorization
The pump has been authorized for a preauth delivery
and is waiting for the client to complete the delivery.
Reserved for CTFs use.

7

AUTHED_FOR_CTF

Reserved for CTFs use.

8

RESERVED_FOR_PAYMENT

9

AUTHED_FOR_PAYMENT

The pump has been reserved for a payment delivery
and is waiting for the payment authorization.
The pump has been authorized for a payment
delivery and is waiting for the client to complete the
delivery.

Page 275

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 3 – Delivery types

9.3.
Value
1

Name
POSTPAY

2
3

PREPAY
PREPAY_REFUND

4

PREAUTH

5

MONITOR

6

TEST

7

DRIVEOFF

8

OFFLINE

9
10

CTF
CARD_CLIENT

Description
A normal delivery which was delivered and paid for after it was
completed prior to clearing it from the system
A delivery which was paid for prior to delivering.
A refund delivery generated when a prepay delivery is taken for
less than the prepaid amount.
A pre-authorized delivery that was paid for after it was
completed and before it was cleared from the system.
A normal delivery that was cleared automatically from the
system after the MonitorDeliveryTimeout value was reached, as
configured in the EZServier.ini file.
A normal delivery that was returned to the tank after completion.
This is usually occurs when the pump is being calibrated or
tested.
A normal delivery for which the driver has driven off without
paying. In order to balance the shift totals it cannot be cleared
as a Post-pay delivery.
A pseudo delivery generated when the server detects that the
pump has done deliveries while offline, this is detected by
comparing the saved electronic totals last retrieved from the
pump, with the current electronic totals. It could well be more
than one delivery summed together.
Reserved for CTFs use.
The delivery was authorized using a clients RFiD card.

11

PAYMENT

The delivery was authorized using the Payment APIs

Page 276

EZForecourt Developers Manual

Version 2.3.0.1

9.4.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 4 – Delivery states

Value
1

Name
CURRENT

2

STACKED

3

CLEARED

Description
The current delivery on the pump, i.e. the
delivery displayed on the pump is
guaranteed to be the same as this delivery.
This pump will not delivery again until this
delivery is cleared or stacked
This is a stacked delivery; the pump is now
free to deliver again.
The delivery has been paid for and is cleared
from the system.

Page 277

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 5 – Event types

9.5.

Event types are maintained for backward compatibility, for new versions use Appendix 22 – Log
Event Type
Value
100
102
103
200
201
202
203
204
205
206
207
208

Name

Description

209

DISPENSER_ATTENDANT_TAG_READ_EVENT

300
301
302
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425

DISPENSER_DRIVER_INFO_EVENT
DISPENSER_DRIVER_STARTED_EVENT
DISPENSER_DRIVER_STOPPED_EVENT
TANK_INFO_EVENT
TANK_SETUP_DATA_WARNING_EVENT
TANK_LEAK_ALARM_EVENT
TANK_HIGH_WATER_ALARM_EVENT

SERVER_INFO_EVENT
SERVER_STARTED_EVENT
SERVER_STOPPED_EVENT
DISPENSER_INFO_EVENT
DISPENSER_INSTALLED_EVENT
DISPENSER_STARTED_EVENT
DISPENSER_STOPPED_EVENT
DISPENSER_E_TOTALS_ERROR_EVENT
DISPENSER_OFFLINE_DELIVERIES_EVENT
DISPENSER_REMOTE_PRICE_CHANGE_EVENT
DISPENSER_LOST_DELIVERY_EVENT
DISPENSER_TAG_READ_EVENT

TANK_HIGH_WATER_ALARM_EVENT
TANK_OVERFILL_ALARM_EVENT
TANK_LOW_PRODUCT_ALARM_EVENT
TANK_SUDDEN_LOSS_ALARM_EVENT
TANK_HIGH_PRODUCT_ALARM_EVENT
TANK_INVALID_FUEL_LEVEL_ALARM_EVENT
TANK_PROBE_OUT_ALARM_EVENT
TANK_HIGH_WATER_WARNING_EVENT
TANK_DELIVERY_NEEDED_WARNING_EVENT
TANK_MAXIMUM_PRODUCT_ALARM_EVENT
TANK_GROSS_LEAK_TEST_FAILED_ALARM_EVENT
TANK_PERIODIC_LEAK_TEST_FAILED_ALARM_EVENT
TANK_ANNUAL_LEAK_TEST_FAILED_ALARM_EVENT
TANK_PERIODIC_TEST_NEEDED_WARNING_EVENT
TANK_ANNUAL_TEST_NEEDED_WARNING_EVENT
TANK_PERIODIC_TEST_NEEDED_ALARM_EVENT
TANK_ANNUAL_TEST_NEEDED_ALARM_EVENT
TANK_LEAK_TEST_ACTIVE_INFO_EVENT
TANK_NO_CSLD_IDLE_TIME_WARNING_EVENT
TANK_SIPHON_BREAK_ACTIVE_WARNING_EVENT
TANK_CSLD_RATE_INCREASE_WARNING_EVENT
TANK_ACCUCHART_CALIBARTION_WARNING_EVENT

Page 278

EZForecourt Developers Manual

Version 2.3.0.1
426
427
428
429
430
431

TANK_HRM_RECONCILATION_WARNING_EVENT
TANK_HRM_RECONCILATION_ALARM_EVENT
TANK_COLD_TEMPERATURE_WARNING_EVENT
TANK_MISSING_DELIVERY_TICKET_WARNING_EVENT

500
501
502
503
600
601
602
700
701
702
703
800
801
802

TANK_GAUGE_INFO_EVENT
TANK_GAUGE_INSTALLED_EVENT
TANK_GAUGE_STARTED_EVENT
TANK_GAUGE_STOPPED_EVENT
TANK_GAUGE_DRIVER_INFO_EVENT
TANK_GAUGE_DRIVER_STARTED_EVENT

TANK_LINE_GROSS_LEAK_ALARM_EVENT
TANK_SENSOR_STATE_ALARM_EVENT

TANK_GAUGE_DRIVER_STOPPED_EVENT
PRICE_SIGN_INFO_EVENT
PRICE_SIGN_INSTALLED_EVENT
PRICE_SIGN_STARTED_EVENT
PRICE_SIGN_STOPPED_EVENT
PRICE_SIGN_DRIVER_INFO_EVENT
PRICE_SIGN_DRIVER_STARTED_EVENT
PRICE_SIGN_DRIVER_STOPPED_EVENT

Page 279

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

9.6.
Value
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 6 – Pump display formats
Name
PUMP_DISPLAY_4_3
PUMP_DISPLAY_4_2
PUMP_DISPLAY_4_1
PUMP_DISPLAY_4_0
PUMP_DISPLAY_5_3
PUMP_DISPLAY_5_2
PUMP_DISPLAY_5_1
PUMP_DISPLAY_5_0
PUMP_DISPLAY_6_3
PUMP_DISPLAY_6_2
PUMP_DISPLAY_6_1
PUMP_DISPLAY_6_0
PUMP_DISPLAY_4_N1
PUMP_DISPLAY_4_N2
PUMP_DISPLAY_4_N3
PUMP_DISPLAY_5_N1
PUMP_DISPLAY_5_N2
PUMP_DISPLAY_5_N3
PUMP_DISPLAY_6_N1
PUMP_DISPLAY_6_N2
PUMP_DISPLAY_6_N3

Description
9.999
99.99
999.9
9999
99.999
999.99
9999.9
99999
999.999
9999.99
99999.9
999999
99990 one invisible significant digit.
999900 two invisible significant digits.
9999000 three invisible significant digits.
999990 one invisible significant digit.
9999900 two invisible significant digits.
99999000 three invisible significant digits.
9999990 one invisible significant digit.
99999900 two invisible significant digits.
999999000 three invisible significant digits.

Page 280

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 7 – Pump authorization modes

9.7.
Value
1

Name

2

COMP_AUTH

3

AUTO_AUTH

4

MONITOR_AUTH

5

ATTENDANT_AUTH

6

ATTENDANT_MONITOR_AUTH

7

CTF_AUTH

8

TAG_AUTH

9

OFFLINE_AUTH

10

ATTENDANT_TAG_AUTH

11

CLIENT_TAG_AUTH

12

ATTENDANT_AND_CLIENT_TAG_AUTH

13

ATTENDANT_OR_CLIENT_TAG_AUTH

14

EXT_AUTH

NOT_AUTHABLE

Description
The pump cannot be authorized for post pay
deliveries, i.e. the pump can only be used for
Prepay or Preauth deliveries.
The pump must be manually authorized before it
will start to deliver.
The pump will automatically authorize when the
hose is pulled, however there must be a no current
delivery or the stack must be set to auto stacking
with space available on the stack.
The pump will automatically authorize always, and
completed deliveries will auto clear after a
configured amount of time.
This is the same as auto authorize with the added
requirement that an attendant must be logged on to
the pump.
This is the same as monitor authorize with the
added requirement that an attendant must be
logged on to the pump.
Reserved for CTFs use.
The pump must be authorized by the TagAuthorise
API.
Permits the EZRemotes or EZMOD authorize the
pump without the EZserver.
A valid pump attendant’s card must be read at the
pump to authorize it.
A valid card client’s card must be read at the pump
to authorize it.
A valid card client’s and pump attendant’s card
must be read at the pump to authorize the delivery.
A valid card client’s or pump attendant’s card must
be read at the pump to authorize the delivery.
The pump must be authorized using the
PaymentAuthorise API.

Page 281

EZForecourt Developers Manual

Version 2.3.0.1

Appendix 8 – Pump delivery stack (memory) modes

9.8.
Value
1
2
3

Name
STACK_DISABLED
STACK_MANUAL
STACK_AUTO

Name
NO_PRESET_TYPE
DOLLAR_PRESET_TYPE
VOLUME_PRESET_TYPE
DOLLAR_PREPAY_TYPE
VOLUME_PREPAY_TYPE
DOLLAR_PREAUTH_TYPE
VOLUME_PREAUTH_TYPE

9.10.
Value
0
1
2
4
8
16
32
64
128

Description
The pump delivery stack is disabled.
Pump deliveries must be shifted onto the stack manually.
Pump deliveries will automatically be shifted on the stack
when a pump starts calling, if there is space available on the
stack.

Appendix 9 – Pump limit types

9.9.
Value
1
2
3
4
5
6
7

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Description
There is not limit placed on the pump.
There a preset value limit placed on the pump.
There a preset volume limit placed on the pump.
There a prepay value limit placed on the pump.
There a prepay volume limit placed on the pump.
There a preauth value limit placed on the pump.
There a preauth volume limit placed on the pump.

Appendix 10 – Permitted hoses mask

Name
No hoses
Hose 1
Hose 2
Hose 3
Hose 4
Hose 5
Hose 6
Hose 7
Hose 8

Description
No permitted hoses.
Logical hose number 1 permitted.
Logical hose number 2 permitted.
Logical hose number 3 permitted.
Logical hose number 4 permitted.
Logical hose number 5 permitted.
Logical hose number 6 permitted.
Logical hose number 7 permitted.
Logical hose number 8 permitted.

To permit more than one hose simply add desired hoses together, for example 3 would permit
hoses 1 and 2.

Page 282

EZForecourt Developers Manual

Version 2.3.0.1

9.11.

Appendix 11 – Device Types

Value
1
2

Name

3
4

TANK_GAUGE_DEVICE
TANK_GAUGE_DRIVER_DEVICE

5
6

PRICE_SIGN_DEVICE

DISPENSER_DEVICE
DISPENSER_DRIVER_DEVICE

PRICE_SIGN_DRIVER_DEVICE

9.12.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Description
A fuel dispenser or pump device.
A software driver module for a fuel dispenser or pump
device.
An electronic tank gauge device.
A software driver module for an electronic tank gauge
device.
An electronic price sign device.
A software driver module for an electronic price sign
device.

Appendix 12 – Tank Types

Value
1

Name

2

GAUGED_TANK_TYPE

3

CALCULATE_TANK_TYPE

4

CALIBRATE_TANK_TYPE

5

RECONCILE_TANK_TYPE

MANUAL_DIP_TANK_TYPE

Description
The tank is not gauged and has it level/volume read
manually.
The tank has a tank gauge probe fitted, and the volume and
level are read automatically by a tank gauge.
The volume is calculated from the level as if the tank where a
perfect horizontal cylinder.
The volume is calculated from the level using a strapping
table, the strapping is currently being calibrated against the
deliveries from this tank.
The volume is calculated from the level using a strapping
table, this strapping table is constantly being checked and
verified against the deliveries from tank.

Page 283

EZForecourt Developers Manual

Version 2.3.0.1

9.13.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 13 – Error messages

Value
0
-1

Name

-2

INVALID_INTERFACE_VERSION

-3

INVLAID_INTERFACE_ID

-4

INVALID_FUNCTION_ID

-5

INVALID_SOURCE_ID

-6

INVALID_DESTINATION_ID

-7

INVALID_OBJECT_ID

-8

INVALID_SEQUENCE_NO

-9

MSG_IN_BUFFER_OVERFLOW

-10

MSG_OUT_BUFFER_OVERFLOW

-11

PARAMETER_TYPE_MISMATCH

-12

PARAMETER_COUNT_MISMATCH

-13

SERVER_TIMEOUT

-14

CONNECTION_BROKEN

-15
-16
-17
-18

SOCKET_READ_ERROR
NO_MSG_ERROR
SOCKET_WRITE_ERROR

Description
The call was successful
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
The call to the server timed out,
although a calls socket was opened
successfully.
The connection with the server was
broken.
The read socket has been terminated.
There are no waiting events/messages.
The write socket has been terminated.
An internal error has occurred contact
EZTech technical support for

OK_RESULT
INVALID_HEADER_VERSION

SERVER_NONASYNC_CALL

Page 284

EZForecourt Developers Manual

Version 2.3.0.1

-19

SOCKET_NOT_CONNECTED

-20

CLIENT_NOT_CONNECTED

-21

OCX_NOT_CONNECTED

-22

INVALID_CLIENT_TYPE

-23

INTERNAL_SERVER_ERROR

1
2
3

OBJECT_EXISTS_RESULT

4

INVALID_INTERFACE_RESULT

5

INVALID_EVENTS_SOCKET_RESULT

6

INVALID_OBJECT_LINK_RESULT

7

INVALID_OBJECT_PARAMETER_RESULT

8
9

NOT_LOGGED_ON_RESULT
ALREADY_LOGGED_ON_RESULT

10

INVALID_LOGON_RESULT

11
12
13
14

INVALID_CLIENT_TYPE_RESULT
PUMP_NOT_RESPONDING_RESULT
PUMP_IN_USE_RESULT
PUMP_ALREADY_RESERVED_RESULT

15

PUMP_NOT_AVAILABLE_RESULT

16

PUMP_NOT_RESERVED_RESULT

17

PUMP_NOT_RESERVED_FOR_PREPAY_RESULT

18

PUMP_NOT_RESERVED_BY_YOU_RESULT

19

INVALID_PRESET_TYPE_RESULT

20

INVALID_HOSE_MASK_RESULT

21

PUMP_NOT_RESERVED_FOR_PREAUTH_RESULT

OBJECT_DOES_NOT_EXIST_RESULT
OBJECT_HAS_DEPENDANCIES_RESULT

Page 285

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

assistance.
The call socket is not currently
connected with the server.
The client is not currently
connected/logged on to the server.
The OCX control is not currently
connected/logged on to the server.
The logged on client type does not
permit this type of call.
An unspecified internal error occurred;
contact EZTech technical support for
assistance.
The object being created already exists.
The object referenced does not exist.
This object cannot be deleted as there
are other objects which reference it
An internal error has occurred contact
EZTech technical support for
assistance.
An internal error has occurred contact
EZTech technical support for
assistance.
One of the IDs passed representing a
related object references a non-existing
object.
One of the property values passed is
out of range.
The client is not currently logged on.
A client with this client ID is already
logged on.
An internal error has occurred contact
EZTech technical support for
assistance.
The client type is not database client.
The pump is not responding.
The pump is not idle.
The pump already has either a prepay,
preauth or payment reserve placed on
it.
The pump has a current delivery which
cannot be stacked automatically.
The pump does not have a preauth or
prepay reserved place on it.
The pump was not reserved for a
prepay.
The pump was not reserved by this
client.
The preset type requested is not
permitted for this type of authorization.
None of the permitted hoses are
configured on this pump.
The pump was not reserved for a

EZForecourt Developers Manual

Version 2.3.0.1

22
23

PREPAYS_NOT_PREMITTED_RESULT
PREAUTHS_NOT_PREMITTED_RESULT

24

PUMP_CANNOT_BE_AUTHED_RESULT

25
26
27

PUMP_NOT_AUTHED_RESULT
NO_DELIVERY_AVAILABLE_RESULT
STACK_IS_DISABLED_RESULT

28
29
30
31
32

NO_CURRENT_DELIVERY_RESULT
STACK_FULL_RESULT
PUMP_NOT_STOPPED_RESULT

33
34

PUMP_IS_STOPPED_RESULT
DELIVERY_ALREADY_LOCKED_RESULT

35

DELIVERY_IS_RESERVED_RESULT

36
37

DELIVERY_NOT_LOCKED_RESULT
DELIVERY_NOT_LOCKED_BY_YOU_RESULT

38

DELIVERY_TYPE_CANNOT_BE_STACKED_RESUL
T
DELIVERY_CANNOT_BE_CLEARED_AS_THIS_TYP
E_RESULT

39

PUMP_NOT_DELIVERING_RESULT
INVALID_PRESET_AMOUNT_RESULT

40
41

DELIVERY_NOT_CURRENT_RESULT

42

DELIVERY_TERMINATED_RESULT

43

HAS_CURRENT_DELIVERY_RESULT

44

ATTENDANT_NOT_LOGGED_ON_RESULT

45

ATTENDANT_ALREADY_LOGGED_ON_RESULT

46

PUMP_IN_WRONG_AUTH_MODE_RESULT

47

PUMP_HAS_DELIVERIES_RESULT

48

SERVER_NOT_LICENSED_RESULT

49

NO_EZMOD_RESULT

50

LICENSE_EXPIRED_RESULT

INVALID_CLIENT_ID_RESULT

Page 286

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

preauth.
Prepays are not permitted on this pump.
Preauths are not permitted on this
pump.
The pump mode does not permit post
pay deliveries.
The pump was not manually authorized.
The delivery requested does not exist.
Stacking deliveries is not permitted on
this pump.
This pump has no current delivery.
The delivery stack for this pump is full.
The pump is not temp stopped.
The pump is not currently delivering.
The preset amount is less than the
configured minimum.
The pump is temp stopped.
This delivery has already been locked,
by you or another client.
The delivery was done as a prepay or
preauth delivery and is reserved for
another EZClient.
The delivery is not currently locked.
The delivery is locked by another
EZServer client.
This type of delivery cannot be stacked.
The original type of the delivery does
not permit it to be cleared as this type.
The delivery is not the current delivery.
The current Client ID is not logged onto
the server.
A delivery on the pump has been
terminated, and hence the pump cannot
be re-authorized.
The pump has a current delivery which
cannot be automatically stacked.
The attendant being logged off, is not
currently logged on.
The pump the attendant is attempting to
logon to, already has a logged on
attendant.
The pump that the attendant is
attempting to logon to is not in one of
the attendant authorization modes.
The pump being logged on/off has
uncleared deliveries.
The license key for the server is invalid
or absent.
The EZModule for this license key
cannot be found, it is most likely turned
off or not plugged in.
The license key has expired.

EZForecourt Developers Manual

Version 2.3.0.1
51
52
53

CTF_NOT_PREMITTED_RESULT
PUMP_NOT_RESERVED_FOR_CTF_RESULT
ZIGBEE_MODULE_TYPE_ERROR_RESULT

54

DELAY_LOGON_RESULT

55

STANDALONE_AUTHMODE_ERROR_RESULT

56

SERVER_CLIENT_INCOMPATIBLE_ERROR_RESUL
T

57

TAG_ALREADY_IN_USE_ERROR_RESULT

58

LOG_EVENT_ALREADY_ACKED_RESULT

59

BAD_SESSION_ID_RESULT

60

SOCKETS_INUSE_RESULT

61

SOCKET_UNCHANGED_RESULT

62

INVALID_SOCKET_RESULT

Page 287

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Reserved for CTFs use.
Reserved for CTFs use.
The type of the ZigBee device is
incompatible with the API being
attempted.
An attempt is being made to logon with
a client ID already in use.
The authorization mode being selected
for the pump is incompatible with the
standalone configuration of the EZmod.
The version of the EZClient.DLL is
incompatible with the version of the
EZServer.
The new tag value is already in use by
another pump attendant or card client.
The log event has already been cleared
or acked.
A client with this ID and a different
session ID is already logged on.
A client cannot be logged off because
the sockets are still in use,
A reconnection has failed to unchanged
socket.
A reconnection has failed due to no
current socket.

EZForecourt Developers Manual

Version 2.3.0.1

9.14.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 14 – Client event types

Value
0
1
2
3

Type

4
5
6

CLIENT_EVENT
DB_LOG_EVENT
DB_LOG_DELIVERY

7

DB_CLEAR_DELIVERY

8

DB_STACK_DELIVERY

9

DB_LOG_ETOTALS

10
11

DB_TRIGGER
DB_ATTENDANT_LOGON_EVENT

12

DB_ATTENDANT_LOGOFF_EVENT

13

DB_TANK_STATUS

14

SERIAL_PORT_EVENT

GetNextServerEvent / ServerEvent
GetNextClientEvent/ClientEvent
GetNextDBLogEvent/DBLogEvent
GetNextDBLogDeliveryEvent /
DBLogDeliveryEvent
GetNextDBClearDeliveryEvent /
DBClearDeliveryEvent
GetNextDBStackDeliveryEvent /
DBStackDeliveryEvent
GetNextDBHoseETotalsEvent(Ex) /
DBHoseETotalsEvent
GetNextDBTriggerEvent/DBTriggerEvent
GetNextDBAttendantLogonEvent /
DBAttendantLogonEvent
GetNextDBAttendantLogoffEvent /
DBAttendantLogonEvent
GetNextDBTankStatusEvent(Ex,Ex2) /
DBTankStatusEvent(Ex,Ex2)
Reserved for CTFs use

15

ZIGBEE_EVENT

Reserved for CTFs use

16

UVE_EVENT

Reserved for CTFs use

17

ZERO_DELIVERY_EVENT

GetNextZeroDeliveryEvent

18

ZB_STATUS_EVENT

Reserved for CTFs use

19

ZB_PAN_EVENT

Reserved for CTFs use

20

ZIGBEE_CMD_EVENT

Reserved for CTFs use

21

ZIGBEE_RAW_EVENT

Reserved for CTFs use

22

CARD_READ_EVENT

GetNextCardReadEvent / CardReadEvent

23

ZB2G_STATUS_EVENT

GetNextZB2GStatusEvent

24

LOG_EVENT_EVENT

GetNextLogEventEvent/LogEventEvent

NO_CLIENT_EVENT
PUMP_EVENT
DELIVERY_EVENT
SERVER_EVENT

9.15.

Event retrieval function
**** the events queue is empty ****
GetNextPumpEvent(Ex, Ex2, Ex3) / StatusEvent
GetNextDeliveryEvent

Appendix 15 – Client type

Page 288

EZForecourt Developers Manual

Version 2.3.0.1
Value
0x01

Type
CALLS_CLIENT_TYPE

0x02

EVENTS_CLIENT_TYPE

0x04

DB_CLIENT_TYPE

9.16.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Description
The client will simply call non event or configuration
related APIs
The client will receive events, and can call the event
related APIs.
The client can call

Appendix 16 – Remote device type

Value
1

Type
IRB_ZBDEVICE

Description
Reserved CTFs use.

2

MTF_ZBDEVICE

Reserved CTFs use.

3

OTHER_ZBDEVICE

Reserved CTFs use.

4

TRM_ZBDEVICE

Reserved CTFs use.

5

EZREMOTE_WIRELESS_ZBDEVICE

An EZRemote connected wirelessly.

6

EZREMOTE_SLOT1_ZBDEVICE

An EZRemote connected via cable on slot 1.

7

EZREMOTE_SLOT2_ZBDEVICE

An EZRemote connected via cable on slot 2.

8

EZREMOTE_SLOT3_ZBDEVICE

An EZRemote connected via cable on slot 3.

9

EZREMOTE_SLOT4_ZBDEVICE

An EZRemote connected via cable on slot 4.

9.17.

Appendix 17 – Price Control

Value
1

Type
REMOTE_PRICE_CONTROL

2

LOCAL_PRICE_CONTROL

Event retrieval function
The price is set and controlled by the forecourt
controller
The price is set manually at the pump.

Page 289

EZForecourt Developers Manual

Version 2.3.0.1

9.18.

Appendix 18 – Price Type

Value
1

Type
FIXED_PRICE_TYPE

2

DISCOUNT_PRICE_TYPE

3

SURCHARGE_PRICE_TYPE

9.19.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Description
The price is the actual price value to be applied for
this delivery.
The price is to the current pump price less this
discount value.
The price is to the current pump price plus this
surcharge value.

Appendix 19 – Price Duration Type

Value
1

Type
SINGLE_DURATION_TYPE

2

MULTIPLE_DURATION_TYPE

Description
This new price is to be used for the next delivery
only, after the delivery is complete the price will
revert to the old price.
This new price is to be used for the permanently
until the price is changed again.

Page 290

EZForecourt Developers Manual

Version 2.3.0.1

9.20.
Value
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

9.21.
Value
0
1
2

Appendix 20 – Log Event Device Type
Type
SERVER_ALR
PUMP_ALR
TANK_ALR
HOSE_ALR
GRADE_ALR
EZID_ALR
ATTENDANT_ALR
CARD_ALR
PORT_ALR
PROCESS_ALR
POS_ALR
ATG_ALR
SENSOR_ALR
PRICE_SIGN_ALR
USERDEFINED_ALR

Description
The EZserver service.
A fueling position object.
A tank object.
A hose object.
A grade object.
An EZRemote device.
A pump attendant object.
A card client object.
A port object.
A server thread/process.
A POS device.
An ATG device.
A sensor/leak detector device.
An electronic price sign device.
A user defined device.

Appendix 21 – Log Event Level
Type
INFORMATION_EVENT
WARNING_EVENT
ALARM_EVENT

Description
Information level
Warning level
Alarm level

Page 291

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

EZForecourt Developers Manual

Version 2.3.0.1

9.22.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 22 – Log Event Type

Value
0

Type

1

TERMINATE_TALR

2
3
4

START_TALR
STOP_TALR
STOP_START_TALR

5

ADD_TALR

6

DELETE_TALR

7

EDIT_TALR

8

PRICE_TALR

9
10

OFFPRICE_TALR
OFFLINE_TALR

Description
A process, driver or thread was
initialized.
A process, driver or thread was
terminated.
A device started responding.
A device stopped responding.
A device stopped responding and
shortly after started responding again.
An object has added to the
configuration
An object has been deleted from the
configuration
The configuration of an object has
changed.
A remote price change has been
effected.
A local price change has been detected.
An offline delivery has been detected.

11

ETOT_REVERSE_TALR

The electronic totals have reversed.

12

ETOT_ZEROED_TALR

The electronic totals have been zeroed.

13

MEMORY_TALR

14

RESET_TALR

100

TANK_LOW_PRODUCT_WARNING_START_TALR

The EZserver is running very low on
memory and has reset.
The EZserver was reset due to a
segment violation.
Tank product low warning started.

101

TANK_LOW_PRODUCT_WARNING_END_TALR

Tank product low warning ended.

102

TANK_LOW_PRODUCT_ALARM_START_TALR

Tank product low alarm started.

103

TANK_LOW_PRODUCT_ALARM_END_TALR

Tank product low alarm ended.

104

TANK_HI_PRODUCT_WARNING_START_TALR

Tank product high warning started.

105

TANK_HI_PRODUCT_WARNING_END_TALR

Tank product high warning ended.

106

TANK_HI_PRODUCT_ALARM_START_TALR

Tank product high alarm started.

107

TANK_HI_PRODUCT_ALARM_END_TALR

Tank product high alarm ended.

108

TANK_HI_WATER_WARNING_START_TALR

Tank water level high warning started.

109

TANK_HI_WATER_WARNING_END_TALR

Tank water level high warning ended.

110

TANK_HI_WATER_ALARM_START_TALR

Tank water level high alarm started.

111

TANK_HI_WATER_ALARM_END_TALR

Tank water level high alarm ended.

112

TANK_PROBE_STOPPED_RESPONDING_TALR

Tank probe started responding.

INITIALIZE_TALR

Page 292

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

113

TANK_PROBE_STARTED_RESPONDING_TALR

Tank probe stopped responding.

114

TANK_ATG_STOPPED_RESPONDING_TALR

ATG started responding.

115

TANK_ATG_STARTED_RESPONDING_TALR

ATG stopped responding.

116

TANK_DROP_START_TALR

Tank drop started.

117

TANK_DROP_END_TALR

Tank drop completed.

118

TANK_DROP_DOCUMENT_TALR

Tank drop documentation.

119

TANK_LEAK_START_TALR

Tank leak started.

120

TANK_LEAK_END_TALR

Tank lean ended.

121

TANK_STATE_TALR

Saved tank status.

122

TANK_CONFIG_TALR

Tank configuration error detected.

123

TANK_CALIBRATION_ERROR_TALR

Tank calibration error detected.

200

ATTENDANT_LOGGED_ON_TALR

Pump attendant logged on.

201

ATTENDANT_LOGGED_OFF_TALR

Pump attendant logged off.

202

ATTENDANT_CARD_BLOCKED_TALR

Blocked pump attendant card used.

203

ATTENDANT_WRONG_SHIFT_TALR

Out of shift pump attendant card used.

204

CLIENT_CARD_BLOCKED_TALR

Blocked card client card used.

205

UNKNOWN_CARD_TALR

Unknown card used.

300

SENSOR_ON_TALR

Sensor alarm started.

301

SENSOR_OFF_TALR

Sensor alarm ended.

Page 293

EZForecourt Developers Manual

Version 2.3.0.1

9.23.

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 23 – Tank State

Value
0

Type
NOT_RESPONDING_TANKSTATE

Description
Tank probe or ATG not responding.

1

IDLE_TANKSTATE

2

DELIVERING_TANKSTATE

3

RECEIVING_TANKSTATE

Tank in idle state, not receiving or dispensing
fuel.
At least one hose connected to this tank is
currently dispensing fuel.
The tank is currently receiving a tank drop, it is
also possible that it is dispensing as well.

9.24.

Appendix 24 – Attendant Type

Value
0

Type
BLOCKED_ATTSTATE

Description
This pump attendant is currently blocked.

1

ENABLED_ATTSTATE

This pump attendant is permanently enabled.

3

LOG_ON_OFF_ATTSTATE

This pump attendant is only enabled when logged on.

Page 294

EZForecourt Developers Manual

Version 2.3.0.1

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Appendix 24 – Alarms Mask

9.25.
Value
0x00000001

Type
TANK_HI_PRODUCT_ALARM_BIT

0x00000002

TANK_HI_PRODUCT_WARNING_BIT

0x00000004

TANK_LOW_PRODUCT_ALARM_BIT

0x00000008

TANK_LOW_PRODUCT_WARNING_BIT

0x00000010

TANK_HI_WATER_ALARM_BIT

0x00000020

TANK_HI_WATER_WARNING_BIT

0x00000040

TANK_RESPONDING_BIT

0x00000080

TANK_DROP_BIT

Description
The tank product is currently above
the high alarm limit.
The tank product is currently above
the high warning limit.
The tank product is currently below
the low alarm limit.
The tank product is currently below
the low warning limit.
The tank water level is currently
above the alarm limit.
The tank water level is currently
above the warning limit.
The tank probe is currently
responding.
A tank drop is in progress.

0x00000100

TANK_LEAK_BIT

The tank is currently leaking

0x00000200

TANK_CONFIG_BIT

There is a tank configuration error.

0x00000400

ATG_RESPONDING_BIT

0x00000800

TANK_CALIBRATION_ERROR_BIT

The tank ATG is currently
responding.
There is a calibration error in the
tank strapping table.

9.26.

Appendix 26 – Card Read Types

Value
1

Type
ATTENDANT_TAG_TYPE

2

BLOCKED_ATTENDANT_TAG_TYPE

3

WRONG_SHIFT_ATTENDANT_TAG_TYPE

4

CLIENT_TAG_TYPE

5
6

BLOCKED_CLIENT_TAG_TYPE
UNKNOWN_TAG_TYPE

Page 295

Description
A card linked to a pump attendant
logged on or enabled.
A card linked to a blocked pump
attendant
A card linked to a pump attendant
used outside of his/her defined shift.
A card linked to an enabled card
client.
A card linked to a blocked card client.
A card not linked to a pump attendant
or card client.

EZForecourt Developers Manual

Version 2.3.0.1

9.27.
Value
1
2
3
4
5
6

9.28.
Value
1
2
3
4
5
6
7
8

Appendix 27 – Card Types
Type
VEHICLE_CARD_TYPE
ATTENDANT_CARD_TYPE
DRIVER_CARD_TYPE
SECONDARY_VEHICLE_CARD_TYP
E
SECONDARY_ATTENDANT_CARD_T
YPE
SECONDARY_DRIVER_CARD_TYPE

Description
A vehicle identification card.
An attendant identification card.
A driver identifaction card.
A secondary vehicle card, it is linked to a
vehicle identification card.
A secondary attendant card, it is linked to
an attendant identification card.
A secondary driver card, it is linked to a
driver identification card.

Appendix 28 – Entry Types

9
10
11
12

Type
NO_ENTRY_TYPE
ODO_ENTRY_TYPE
DRIVER_ENTRY_TYPE
ODO_DRIVER_ENTRY_TYPE
OTHER_ENTRY_TYPE
OTHER_ODO_ENTRY_TYPE
OTHER_DRIVER_ENTRY_TYPE
OTHER_ODO_DRIVER_ENTRY_TYP
E
LIMIT_ENTRY_TYPE
LIMIT_ODO_ENTRY_TYPE
LIMIT_DRIVER_ENTRY_TYPE
LIMIT_ODO_DRIVER_ENTRY_TYPE

13
14

LIMIT_OTHER_ENTRY_TYPE
LIMIT_OTHER_ODO_ENTRY_TYPE

15

LIMIT_OTHER_DRIVER_ENTRY_TYP
E
LIMIT_OTHER_ODO_DRIVER_ENTR
Y_TYPE

16

© Copyright EZTech Ltd.
2005 – 2016
all rights reserved
www.eztech.ind.br

Page 296

Description
No additional data entry required.
Odometer entry required.
Driver entry required.
Odometer & Driver entry required.
Other data entry required.
Other data & Odometer entry required.
Other data & Driver entry required.
Other data, Odometer & Driver entry
required.
Delivery limit entry required.
Delivery limit & Odometer entry required.
Delivery limit & Driver entry required.
Delivery limit & Odometer data entry
required.
Delivery limit & Other data entry required.
Delivery limit, Other data & Odometer
entry required.
Delivery limit, Other data & Driver entry
required.
Delivery limit, Other data, Odometer &
Driver entry required.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 296
Language                        : pt-BR
Tagged PDF                      : Yes
Author                          : Kelvin Ussher
Creator                         : Microsoft® Word 2010
Create Date                     : 2016:08:26 15:42:34-03:00
Modify Date                     : 2016:08:26 15:42:34-03:00
Producer                        : Microsoft® Word 2010
EXIF Metadata provided by EXIF.tools

Navigation menu