7.18 PaymentCashDeviceType definition

7.18.1 Overview

The abstract PaymentCashDeviceType provides information about a payment device taking cash. It is formally defined in Table 52.

7.18.2 ObjectType definition

Table 52 - PaymentCashDeviceType definition
Attribute Value
BrowseNamePaymentCashDeviceType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the StandalonePaymentDeviceType
0:HasPropertyVariableSupportedAssetListPriceDataType[]0:PropertyTypeM
0:HasPropertyVariableSupportedAssetListVersion0:SemanticVersionString0:PropertyTypeM
0:HasPropertyVariableSlotConfigurationListSlotConfigurationDataType[]0:PropertyTypeM
0:HasComponentVariableCurrentSlotContentList0:UInt32[]0:BaseDataVariableTypeO
0:HasComponentVariableAssetConfigurationListAssetConfigurationEnum[]0:BaseDataVariableTypeM
0:HasComponentMethodChangeAssetConfigurationListM
0:HasComponentVariablePayoutStatusPayoutStatusEnum0:BaseDataVariableTypeO
0:HasComponentMethodPayoutByValueO
0:HasComponentMethodPayoutBySupportedAssetListO
0:HasComponentVariableCurrentAvailableValuePriceDataType0:BaseDataVariableTypeM
0:HasComponentMethodConsumeAvailableValueM
Conformance Units
UnattendedRetail PaymentDevice Coin
UnattendedRetail PaymentDevice Bill

The inherited Variables SupportedAssetList, SupportedAssetListVersion, and SlotConfigurationList become mandatory in the PaymentCashDeviceType.

In case of the buffer (see 7.16.2), most payment devices maintain the information about the current amount stored in the buffer. If the payment device supports this information, it shall be provided in the CurrentSlotContentList Property. This list contains for each index representing a slot the number of physical assets currently in the slot. The list shall have the same size as the maximum slot index of the SlotConfigurationList.

In the following, an example is given, extending the example of 7.16.2.

SupportedAssetList = { (10, € cent), (50, € cent), (50, € cent), (100, € cent), (100, € cent) }

SlotConfigurationList = { (-1,4), (0,0), (1,0), (2,1), (2,2), (3,3), (4,3) }

CurrentSlotContentList = { 10, 3, 15, 7, 0 }

An explanation of SupportedAssetList and SlotConfigurationList can be found in 7.16.2.

The CurrentSlotContentList indicates, that there are 10+3 10 € cent coins, 15 50 € cent coins, and 7 100€ cent coins in the buffer.

The CurrentSlotContentList Variable value is the best approximation for the slot content, and may not be the exact number of assets in each slot, the behaviour can be manufacturer depended.

The mandatory AssetConfigurationList Variable is an array of AssetConfigurationEnum. The DataType is defined in 8.24. It shall have the same length as the SupportedAssetList. Each entry of the array defines what the payment device shall do with an asset as defined in the corresponding entry of the SupportedAssetList when inserted into the payment device. The AssetConfigurationList can be changed by the ChangeAssetConfigurationList Method defined in 7.18.3.

The optional PayoutStatus Variable indicates the status of a payout, requested via the PayoutByValue (see 7.18.4) or PayoutBySupportedAssetList (see 7.18.5) Method call. The DataType is defined in 8.25. The CurrentSlotContentList Variable needs to be updated when a payout occurs. If a payout was not successful, checking the CurrentSlotContentList indicates what assets have been paid out. The CurrentSlotContentList Variable can also be monitored to identify in case of a successful payout, what assets have been paid out.

The mandatory CurrentAvailableValue Variable indicates the amount of money currently available in the payment cash device for deliveries. When a user inserts an asset (e.g., a coin) that is accepted by the payment cash device, the CurrentAvailableValue increases. Typically, the CurrentAvailableValue is initialized to 0 when the payment cash device starts. When the ConsumeAvailableValue Method is called (see 7.18.6), the CurrentAvailableValue decreases according to the input parameters of the Method. Any payout operation (PayoutByValue or PayoutBySupportedAssetList Methods) does not affect the CurrentAvailableValue.

7.18.3 ChangeAssetConfigurationList Method

The ChangeAssetConfigurationList Method changes the configuration of the payment device reflected in the AssetConfigurationList.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, the AssetConfigurationList shall reflect the new configuration.

The signature of this Method is specified below. Table 53 and Table 54 specify the Arguments and AddressSpace representation, respectively.

Signature

	ChangeAssetConfigurationList (
	  [in]   AssetConfigurationEnum[]   NewAssetConfigurationList,
	  [out]  0:Int32                    Status);
Table 53 - ChangeAssetConfigurationList Arguments
Argument Description
NewAssetConfigurationListContains the new configuration to be configured. The resulting configuration may not be identical to this input argument as the configuration may be adjusted as described in the AssetConfigurationEnum.
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Invalid length of NewAssetConfigurationList

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 54 - ChangeAssetConfigurationList AddressSpace definition
Attribute Value
BrowseNameChangeAssetConfigurationList
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.18.4 PayoutByValue Method

The PayoutByValue Method triggers a payout.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does not indicate, that the payout has been completed successful. Clients need to access the PayoutStatus Variable to get the information, if the payout gets successfully finished.

The signature of this Method is specified below. Table 55 and Table 56 specify the Arguments and AddressSpace representation, respectively.

Signature

	PayoutByValue (
	  [in]   PriceDataType              PayoutValue,
	  [out]  0:Int32                    Status);
Table 55 - PayoutByValue Arguments
Argument Description
PayoutValueThe value to be paid out.
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Cannot trigger payout as another payout is ongoing

-2 = Cannot trigger payout, not enough assets left

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 56 - PayoutByValue AddressSpace definition
Attribute Value
BrowseNamePayoutByValue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.18.5 PayoutBySupportedAssetList Method

The PayoutBySupportedAssetList Method triggers a payout.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does not indicate, that the payout has been completed successful. Clients need to access the PayoutStatus Variable to get the information, if the payout gets successfully finished.

The signature of this Method is specified below. Table 57 and Table 58 specify the Arguments and AddressSpace representation, respectively.

Signature

	PayoutBySupportedAssetList (
	  [in]   0:UInt32[]             NumberOfAssetsBySupportedAssetList,
	  [out]  0:Int32                Status);
Table 57 - PayoutBySupportedAssetList Arguments
Argument Description
NumberOfAssetsBySupportedAssetListFor each entry of the SupportedAssetList, the number of assets to be paid out.
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Cannot trigger payout as another payout is ongoing

-2 = Cannot trigger payout, not enough assets left

-3 = Invalid length of NumberOfAssetsBySupportedAssetList

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 58 - PayoutBySupportedAssetList AddressSpace definition
Attribute Value
BrowseNamePayoutBySupportedAssetList
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.18.6 ConsumeAvailableValue Method

The ConsumeAvailableValue Method consumes part of the available money provided in the CurrentAvailableValue Variable.

If the execution of the Method cannot be done due to some application logic, the Method should return an Uncertain StatusCode and provide details of the failure in the Status output Argument. When the Method returns an Uncertain StatusCode, the Method is considered to be failed.

If the Method returns successful, it does indicate, that the CurrentAvailableValue Variable has been decreased.

The signature of this Method is specified below. Table 59 and Table 60 specify the Arguments and AddressSpace representation, respectively.

Signature

	ConsumeAvailableValue (
	  [in]   PriceDataType              ValueToConsume,
	  [out]  0:Int32                    Status);
Table 59 - ConsumeAvailableValue Arguments
Argument Description
ValueToConsumeFor each entry of the SupportedAssetList, the number of assets to be paid out.
Status

Status of the execution of the method. If issues occurred during execution.

0 = Execution was successful.

-1 = Not enough value to consume available

Vendors may return a vendor specific status starting with number -16 or smaller.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedSee OPC 10000-4 for a general description.
Table 60 - ConsumeAvailableValue AddressSpace definition
Attribute Value
BrowseNameConsumeAvailableValue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory