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
| Attribute | Value | ||||
| BrowseName | PriceInformationType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the 0:BaseObjectType | |||||
| 0:HasComponent | Method | GetPriceForSelections | M | ||
| 0:HasComponent | Method | GetPriceForOneSelection | M | ||
| 0:HasComponent | Method | GetPriceForBasket | O | ||
| 0:GeneratesEvent | ObjectType | PriceChangeEventType | |||
| 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);| Argument | Description |
| UserId | The 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". |
| MachineEngineProductInstanceUri | The machine engine for which the price information shall be provided. |
| SelectionListVersion | Provides the version of the selections as defined in the Capabilities. Used as context to interpret the Selections and Options correctly. |
| PriceInformationList | The 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_UserAccessDenied | See OPC 10000-4 for a general description. |
| Attribute | Value | ||||
| BrowseName | GetPriceForSelections | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| 0:HasProperty | Variable | 0:InputArguments | 0:Argument[] | 0:PropertyType | 0:Mandatory |
| 0:HasProperty | Variable | 0:OutputArguments | 0:Argument[] | 0:PropertyType | 0: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);| Argument | Description |
| UserId | The 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". |
| Selection | Defines for what selection the price should be provided, including the corresponding machine engine, the SelectionId, and the requested options. |
| PriceInformation | The 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_UserAccessDenied | See OPC 10000-4 for a general description. |
| Attribute | Value | ||||
| BrowseName | GetPriceForOneSelection | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| 0:HasProperty | Variable | 0:InputArguments | 0:Argument[] | 0:PropertyType | 0:Mandatory |
| 0:HasProperty | Variable | 0:OutputArguments | 0:Argument[] | 0:PropertyType | 0: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);| Argument | Description |
| UserId | The 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". |
| BasketContent | The content of the basket, for which the price is asked for. |
| OverallPriceInformation | The overall price for the BasketContent. Shall not be interpreted when the Method returns with an UNCERTAIN StatusCode. |
| PriceInformationList | The 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_UserAccessDenied | See OPC 10000-4 for a general description. |
| Attribute | Value | ||||
| BrowseName | GetPriceForBasket | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| 0:HasProperty | Variable | 0:InputArguments | 0:Argument[] | 0:PropertyType | 0:Mandatory |
| 0:HasProperty | Variable | 0:OutputArguments | 0:Argument[] | 0:PropertyType | 0:Mandatory |