7.11 PriceInformationType definition

7.11.1 Overview

The PriceInformationType provides information on selections with specific Options and baskets. It is provided by the payment service and the price service. It is formally defined in Table 37.

7.11.2 ObjectType definition

Table 37 - PriceInformationType definition
Attribute Value
BrowseNamePriceInformationType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType
0:HasComponentMethodGetPriceForSelectionsM
0:HasComponentMethodGetPriceForOneSelectionM
0:HasComponentMethodGetPriceForBasketO
0:GeneratesEventObjectTypePriceChangeEventType
Conformance Units
UnattendedRetail PaymentService
UnattendedRetail PriceService

Instances of the PriceInformationType will generate Events of PriceChangeEventType, when the prices provided with one of the Methods may have changed, for example based on the time, different base prices, etc. Clients currently using the price information (e.g., for display) should subscribe for these Events and call the Methods again, after receiving the Event.

7.11.3 GetPriceForSelections Method

The GetPriceForSelections Method asks for the current price of all selections of a machine engine of the Vending Machine. It takes indications (UserId, PaymentMode) as input that influence the price. The output contains the price information including price information per Option.

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, and the returned PriceInformationList shall not be interpreted.

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

Signature

	GetPriceForSelections (
	  [in]   0:String                   UserId,
	  [in]   0:String                   PaymentMode,
	  [in]   0:UriString                MachineEngineProductInstanceUri,
	  [in]   0:SemanticVersionString    SelectionListVersion,
	  [out]  SelectionPriceDataType[]   PriceInformationList,
	  [out]  0:Int32                    Status);
Table 38 - GetPriceForSelections Arguments
Argument Description
UserIdThe UserId context for which the provided price is valid.
PaymentMode

The payment mode that will be used for the payment, which may influence the price. Supported payment modes of the payment service are defined in the PaymentModes of the PaymentService Object, using the PaymentModeId.

It is not allowed to provide a NULL or empty string or to use the PaymentMode "NoCheck".

MachineEngineProductInstanceUriThe machine engine for which the price information shall be provided.
SelectionListVersionProvides the version of the selections as defined in the Capabilities. Used as context to interpret the Selections and Options correctly.
PriceInformationListThe price per selection available for the machine engine. Shall contain exactly one entry for all SelectionIds currently supported by the machine engine. Shall not be interpreted when the Method returns with an UNCERTAIN StatusCode.
Status

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

0 = Execution was successful.

-1 = Machine engine referenced in MachineEngineProductInstanceUri not managed by payment service or price service.

-2 = Invalid UserId

-3 = Invalid PaymentMode

-4 = Invalid SelectionListVersion

-5 = Price service not 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 39 - GetPriceForSelections AddressSpace definition
Attribute Value
BrowseNameGetPriceForSelections
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.11.4 GetPriceForOneSelection Method

The GetPriceForOneSelection Method asks for the current price of one selection of the Vending Machine. It takes indications as input that influence the price. The output contains the price information.

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, and the returned PriceInformation shall not be interpreted.

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

Signature

	GetPriceForOneSelection (
	  [in]   0:String                   UserId,
	  [in]   0:String                   PaymentMode,
	  [in]   SelectionDataType          Selection,
	  [out]  PriceAndContextDataType    PriceInformation,
	  [out]  0:Int32                    Status);
Table 40 - GetPriceForOneSelection Arguments
Argument Description
UserIdThe UserId context for which the provided price is valid.
PaymentMode

The payment mode that will be used for the payment, which may influence the price. Supported payment modes of the payment service are defined in the PaymentModes of the PaymentService Object, using the PaymentModeId.

It is not allowed to provide a NULL or empty string or to use the PaymentMode "NoCheck".

SelectionDefines for what selection the price should be provided, including the corresponding machine engine, the SelectionId, and the requested options.
PriceInformationThe price for the SelectionId. Shall not be interpreted when the Method returns with an UNCERTAIN StatusCode.
Status

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

0 = Execution was successful.

-1 = Machine engine referenced in MachineEngineProductInstanceUri not managed by payment service.

-2 = Invalid UserId

-3 = Invalid PaymentMode

-4 = Invalid SelectionId

-5 = Invalid Option contained in Options

-6 = Invalid SelectionListVersion

-7 = Price service not 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 41 - GetPriceForSelections AddressSpace definition
Attribute Value
BrowseNameGetPriceForOneSelection
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory

7.11.5 GetPriceForBasket Method

The GetPriceForBasket Method asks for the current price of a basket of selections of the Vending Machine. It takes indications as input that influence the price. The output contains the price information.

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, and the returned OverallPriceInformation and PriceInformationList shall not be interpreted.

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

Signature

	GetPriceForBasket (
	  [in]   0:String                   UserId,
	  [in]   0:String                   PaymentMode,
	  [in]   SelectionDataType[]        BasketContent,
	  [out]  PriceDataType              OverallPriceInformation,
	  [out]  PriceAndContextDataType[]  PriceInformationList,
	  [out]  0:Int32                    Status);
Table 42 - GetPriceForBasket Arguments
Argument Description
UserIdThe UserId context for which the provided price is valid.
PaymentMode

The payment mode that will be used for the payment, which may influence the price. Supported payment modes of the payment service are defined in the PaymentModes of the PaymentService Object, using the PaymentModeId.

It is not allowed to provide a NULL or empty string or to use the PaymentMode "NoCheck".

BasketContentThe content of the basket, for which the price is asked for.
OverallPriceInformationThe overall price for the BasketContent. Shall not be interpreted when the Method returns with an UNCERTAIN StatusCode.
PriceInformationListThe price of each individual content of the basket. The array shall have the same size as the BasketContent array and each entry represents the price for the entry at the same index of the BasketContent. The OverallPriceInformation shall be the sum of each entry of the PriceInformationList. Shall not be interpreted when the Method returns with an UNCERTAIN StatusCode.
Status

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

0 = Execution was successful.

-1 = Machine engine referenced in MachineEngineProductInstanceUri not managed by payment service.

-2 = Invalid UserId

-3 = Invalid PaymentMode

-4 = Invalid SelectionId

-5 = Invalid Option contained in Options

-6 = Invalid SelectionListVersion

-6 = Price service not 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 43 - GetPriceForBasket AddressSpace definition
Attribute Value
BrowseNameGetPriceForBasket
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyType0:Mandatory
0:HasPropertyVariable0:OutputArguments0:Argument[] 0:PropertyType0:Mandatory