Oracle® Simphony
Kiosk JavaScript API Reference Guide
Release 19.9
G43101-01
September 2025
Copyright © 2025, Oracle and/or its affiliates.
The Simphony Kiosk JS API provides an interface that can be utilized by an HTML5 Kiosk ordering application to access the necessary pieces of the POS logic in the Simphony ServiceHost to
obtain configuration datasets, be notified of pertinent system events, trigger tax and totals calculation, initiate payment processing and create checks in the Point of Sale.
Additionally, the API offers capabilities to allow a custom HTML5 App to send print commands to a local receipt printer as well as write errors and other important troubleshooting
information to the EGateway log, allowing for a consistent source for troubleshooting information.
KioskAPI.js
, requires that integrators have a Simphony client on the
appropriate version up and running and configured as a Kiosk.
Simphony Kiosk JavaScript API solution overview.
Kiosk JavaScript API will only be loaded and accessible when using the Workstation in Kiosk mode and a web UI is loaded by Kiosk Handler in a local browser.
The SimphonyKioskApi must be initalized before use. This allows it to make the necessary websocket network connections and fetch any data it needs from Simphony.
When initialization is complete the ApiReady
event will be raised. See Events for various kind of events raised by
SimphonyKioskAPI
.
SimphonyKioskAPI.initialize({config})
;
key |
required |
This is a string to identify your client app, e.g. 'MyKioskWebApp'. Used by Simphony logging. | |
onApiEvent |
required |
This is the callback function to handle events raised by SimphonyKioskApi . It should take one argument, the event object. |
var config =
{
key: 'MyKioskWebApp',
onApiEvent: myOnApiEventHandler,
};
SimphonyKioskAPI.initialize(config);
onApiEvent
callbackfunction myOnApiEventHandler(event)
{
switch (event.Message)
{
case 'ApiReady':
console.log('SimphonyKioskAPI initialized successfully and is ready for use.');
break;
default:
console.log(event.Message);
break;
}
}
This API provides JSON string containing various settings for the Kiosk web app.
Its value in the KioskParameters
are entries in EMC's "Content" for the current revenue center.
Before making an
kioskParameters
API call, please make sure that theSimphonyKioskAPI.initialize
api has been called sucessfully andApiReady
event has been raised. Attempts to do so before initalization is complete will result in errors or incorrect data.
SimphonyKioskAPI.kioskParameters;
const kioskParameters: string = SimphonyKioskAPI.kioskParameters;
if(kioskParameters) {
let appSettings = JSON.parse(kioskParameters);
var orgShortName: string = appSettings.orgShortName;
var locRef: string = appSettings.locRef;
}
KioskParameters can have other settings as per the requirement, follwoing are the absoulte necessary required field to use Simphony Kiosk API.
{
"kioskParameters": [
{
"orgShortName": "Lorem",
"locRef": "Ipsum",
"rvcRef": 1,
"kioskEmployeeNumber": 2,
"paymentDataSettings":{
"siteId": "POS_Site_ID",
"transCurrency": "USD"
},
"tenders": [
{
"tenderId": 201,
"useSPIPayments": true
}
],
"orderTypes": [
{
"orderTypeRef": 1,
"postOrderInstructions": {
"paidInFull": {
"en-US": [
"1. Take your receipt and proceed to the pickup area.",
"2: Look for the status of your order on the order status boards.",
"3. Once your order number is called, proceed to the order collection station."
]
},
"balanceRemaining": {
"en-US": [
"1. Bal remaining.Take your receipt and proceed to the pickup area.",
"2: Look for the status of your order on the order status boards.",
"3. Once your order number is called, proceed to the order collection station."
]
}
}
}
]
}
]
}
The SimphonyKioskApi's posConfiguration
property contains all the configuration settings for the revenue center.
Before making a
posConfiguration
API call, please make sure that theSimphonyKioskAPI.initialize
api has been called sucessfully andApiReady
event has been raised. Attempts to do so before initalization is complete will result in errors or incorrect data.
SimphonyKioskAPI.posConfiguration;
const menu: string = SimphonyKioskAPI.posConfiguration?.menu;
if (menu)
{
let menu = JSON.parse(menu);
}
posConfiguration
The properties of posConfiguration
contain the various types of data. The following properties are defined on posConfiguration
. A brief description is given
below. A more complete specification can be found at ConfigurationData.
Menu | A menu describes the set of items that can be ordered from a revenue center. The menu includes the menu items, prices, and related information to be used when ordering. | |
Discounts | The discount collection is a list of discounts that can be used when interacting with the checks endpoint. The API returns a collection of discounts that can be used at the specified revenue center. | |
Tenders | The tender collection is a list of tenders that can be used for payment when interacting with the checks endpoint. The API returns a collection of tenders for the specified revenue center. | |
ServiceCharges | The service charge collection is a list of service charges that can be used when interacting with the checks endpoint. The API returns a collection of service charges that can be used at the specified revenue center. | |
Barcodes | The barcodes array contains all available barcodes. | |
RVC | A revenue center represents the organizational entity that produces and sells items and services.. | |
Location | A location represents the places of business within a customer's organization. A location can have one or more revenue centers. | |
MenuItemAvailability | This contains data about menu items which are currently unavailable for sale. | |
MenuV2 | A menu V2 supports updated combo meals, enhanced condiment groups and introduces a new combo group structure. |
SimphonyKioskApi has synchronous and asynchronous functions for calculating a check. Both functions take a check as the only parameter.
The calculateTotals(check)
function will return a Check containing the result of the calculation, or an error response object if unsuccessful.
The calculateTotalsAsync(check)
function returns a resolved Promise with a Check containing the result of the calculation, or a rejected Promise with an error response
object if unsuccessful.
SimphonyKioskAPI.calculateTotalsAsync({check})
;
check |
required |
The check to calculate. |
try
{
var check = await SimphonyKioskAPI.calculateTotalsAsync(check);
} catch (operationError)
{
console.Log(operationError.message);
}
calculateTotalsAsync(check)
returns Check with the update on totals, taking the consideration of following charges.
Discounts |
A discounts that can be applied to a transaction | ||
ServiceCharges |
A Service Charges that can be applied to a transaction. | ||
TaxTotal |
TaxTotal value excludes any inclusive taxn. | ||
PaymentTotal |
A total of Payment on the check. |
calculateTotalsAsync(check)
returns an Error when a check's calculation fails.
errorMessage |
A description of the error that occurred. | ||
posapiResponse |
Contains the error code and message containing additional details about the cause of the error. |
Before a Check is submitted any required payments in its tenders should be created and processed. A tender can be either a Service Total
or a Payment
.
A Service Total
is used to submit an order without payment, for Service Total tenders the payment will need to be removed. follow as mention in example.
removePaymentData()
must be executed to remove the empty payment created by the TenderItem constructor.
var tenderItem = new SimphonyKioskAPI.TenderItem();
tenderItem.tenderId = {tenderId}
tenderItem.total = {check.Total}
tenderItem.removePaymentData();
SimphonyKioskApi has synchronous and asynchronous functions for creating a payment. Both functions take a AuthAndPayRequest
as the only parameter.
The submitPayment({authAndPayRequest})
function takes an authAndPayRequest as an argument and returns an AuthAndPayResponse.
The submitPaymentAsync(AuthAndPayRequest)
function takes an authAndPayRequest as an argument and returns a resolved Promise with an
AuthAndPayResponse, or an error message if unsuccessful.
SimphonyKioskAPI.submitPaymentAsync({authAndPayRequest})
;
TransAmount |
required |
The TransAmount from {check.total}. | |
The TransAmount should be represented in the smallest denomination for the currency from KioskParameters
paymentDataSettings.transCurrency , for example $2.70 should be formated to 270 for TransAmount field.
|
|||
GuestNo |
required |
The hardcoded value of 1 . |
|
Operator |
required |
Can use from KioskParameters kioskEmployeeNumber , secondary option will be to get from {check.checkEmployeeRef} |
var authAndPayRequest = new SimphonyKiosk.Payment.AuthAndPayRequest();
authAndPayRequest.TransAmount = 270;
authAndPayRequest.GuestNo = 1;
authAndPayRequest.Operator = 2;
try {
let response = await SimphonyKioskAPI.submitPaymentAsync(authAndPayRequest);
} catch (operationError) {
return Promise.reject(operationError.message);
}
submitPaymentAsync(authAndPayRequest)
returns AuthAndPayResponse. Look into the following fields to identify the successful response.
DriverSuccess |
If DriverSuccess is true then the payment provider was contacted successfully. If it is false then there was a problem contacting the payment provider
and the payment was not processed. In this case DriverMessage may describe the problem encountered.
|
||
DriverMessage |
If DriverSuccess is false may describe the problem encountered. | ||
RespCode |
If the payment provider was contacted successfully then RespCode will contain the response code from the payment provider indicating whether the request was
successful or not, Successful RespCode are ["00", "11", "16"]
|
||
ResponseXml |
Payment response from Merchant Account. |
If successful the response should be added to the Check's tenders.paymentData
before the check is submitted.
var tenderItem = new SimphonyKioskAPI.TenderItem();
tenderItem.tenderId = 2;
tenderItem.paymentData.type = "spi.v1";
tenderItem.paymentData.data = {authAndPayResponse.fields} // refer to the following table for `tenderItem.paymentData.data` object.
tenderId |
When including a "paymentData" object, the SPI interface will replace this "tenderId" with the correct tender based on the "issuerId" in the "data" object so this can just be a
valid tender with a type of "payment", can use KioskParameters tenderId , where useSPIPayments=true .
|
||
paymentData.type |
Always "spi.v1", intended to identify the format of data in the "data" property. Only Valid value : "spi.v1". |
transDateTime |
Date and Time of the transaction processing, from payment response {TransDateTime} | ||
transType |
From {TransType} field in AuthAndPayResponse. | ||
transAmount |
The TransAmount from {check.total}. | ||
The TransAmount should be represented in the smallest denomination for the currency from KioskParameters
paymentDataSettings.transCurrency , for example $2.70 should be formated to 270 for TransAmount field.
|
|||
tipTotal |
Include from the total tip value selected by the user. | ||
transCurrency |
Can use KioskParameters paymentDataSettings.transCurrency , example value: "USD". |
||
siteId |
From {MerchantId} field in AuthAndPayResponse. |
||
transToken |
From {TransToken} field in AuthAndPayResponse. |
||
issuerId |
From {IssuerId} field in AuthAndPayResponse. . |
||
pan |
From {PAN} field in AuthAndPayResponse. |
||
expiryDate |
From {ExpiryDate} field in AuthAndPayResponse, format must be "YYMM" to meet SPI requirement. |
||
entryMode |
From {EntryMode} field in AuthAndPayResponse. |
||
cardPresent |
Can use KioskParameters cardPresent . If easier, this value can always be set to "1" as cards can only be processed via the PED with
Kiosk..
|
||
authCode |
From {AuthCode} field in AuthAndPayResponse. |
||
alternateTransRef |
From {AlternateTransRef} field in AuthAndPayResponse. |
Once a Check is ready it can be submitted.
SimphonyKioskApi has synchronous and asynchronous functions for submitting a Check. Both functions take a Check as the only parameter.
The submitCheck(check)
function returns the Check.
The submitCheckAsync(check)
function returns a Promise containing a Check.
SimphonyKioskAPI.submitCheckAsync({check})
;
check |
required |
The check to be submitted. |
try
{
var check = await SimphonyKioskAPI.submitCheckAsync(check);
} catch (operationError)
{
console.Log(operationError.message);
}
submitCheckAsync(check)
returns check.
submitCheckAsync(check)
returns an Error when fails.
errorMessage |
A description of the error that occurred. | ||
posapiResponse |
Contains the error code and message containing additional details about the cause of the error. |
SimphonyKioskApi has synchronous and asynchronous functions to send PrintedLines to the printer. Both functions take a PrintLinesRequest as the only parameter.
A printer must be setup on the ServiceHost running the KioskAPI.js to use the printing function.
The submitPrintLines(printLinesRequest)
function returns the PrintLinesResponse
.
The submitPrintJobAsync(printLinesRequest)
function returns a Promise containing a PrintLinesResponse
.
SimphonyKioskAPI.submitPrintLines({printLinesRequest})
;
printerNumber |
required |
The printer number configured. | |
reference |
optional |
The printed lines reference. | |
lines |
optional |
The list of printed lines to be printed on the local printer. |
try
{
let printLinesRequest = new SimphonyKiosk.Printing.PrintLinesRequest();
printLinesRequest.printerNumber = 4;
printLinesRequest.reference = 'Print job refernce';
printLinesRequest.lines.push('------------------------------');
printLinesRequest.lines.push('Print line 1');
printLinesRequest.lines.push('Print line 2');
printLinesRequest.lines.push('------------------------------');
var printLinesResponse = await SimphonyKioskAPI.submitPrintJobAsync(printLinesRequest);
} catch (operationError)
{
console.Log(operationError.message);
}
submitPrintJobAsync(printLinesRequest)
returns PrintLinesResponse.
Success |
Opertion success true/false. | ||
Message |
Print job submitted to printer [printerNumber], text lines [Number of lines printed]. |
The SimphonyKioskApi's logToHost
can be use to send log entries to EGateway logs.
SimphonyKioskAPI.logToHost({message}, {level})
;
message |
required |
The parameter message is a string containing the message for the entry. |
|
level |
required |
The parameter level is a number indicating the Simphony log level severity for the entry. |
level value | Simphony log level |
---|---|
-99 | NONE |
-3 | LOG_ALWAYS_ERROR |
-2 | LOG_ALWAYS_WARN |
-1 | LOG_ALWAYS_INFO |
0 | LOG_ALWAYS_DEBUG |
0 | LOG_ALWAYS |
1 | LIGHT_FLOW |
2 | GENERAL_FLOW |
3 | DETAIL_FLOW |
4 | BUFFER_DUMPS |
5 | ULTIMATE_DEBUG |
SimphonyKioskAPI.logToHost('My General Flow message', 2);
SimphonyKioskAPI.logToHost("Some message at level zero" 0);
The SimphonyKioskApi
raises asynchronous events which can be handled.
private onApiEvent(event) {
switch (event.Message) {
case 'ApiReady':
console.log("SimphonyKioskService onApiEvent 'ApiReady'. Dispatching ConnectedEvent");
break;
case 'Error':
eventTarget.dispatchEvent(new ErrorEvent({
severity: event.IsFatal ? Severity.Fatal : Severity.Ignorable,
message: event.Description
}));
break;
}
}
Message
SimphonyKioskApi
raises following events, events will have one of the folowing values for Message
:
ApiReady
ServerConnectionLost
Error
ConfigurationDataUpdated
MenuItemAvailabilityDataUpdated
Scanner
ScannerError
Events may have one or more of the following properties populated:
Description
Data
IsFatal
ApiReady
Raised when the SimphonyKioskApi is initialized and ready for use.
Description : |
The event code which was returned from the websocket connection. |
ServerConnectionLost
Raised when the websocket loses connection.
Description : |
The event code which was returned from the websocket connection. |
IsFatal : |
The event code which was returned from the websocket connection. |
Error
Raised when there is an error from the websocket connection.
Description : |
The string 'Server communications error: ' followed by the event code which was returned from the websocket connection. |
IsFatal : |
boolean which indicates if the error is recoverable or not. |
ConfigurationDataUpdated
Raised when updated configuration data is sent to SimphonyKioskApi from the POS.
MenuItemAvailabilityDataUpdated
Raised when the updated menu item availability data is sent to SimphonyKioskApi from the POS.
Scanner
Raised when a barcode is scanned.
Data : |
The value of the scanned barcode as a string. |
ScannerError
Raised when a barcode is scanned unsuccessfully.
Description : |
The reason for the failure. |
SimphonyKioskApi has synchronous and asynchronous functions for employee verification. Both functions take 'Country-Language code' string as the only parameter.
The validateEmployee(language)
function will return a WebViewOperationRsp containing the employee verification URL.
The validateEmployeeAsync(language)
function will return a WebViewOperationRsp containing the employee verification URL.
SimphonyKioskAPI.validateEmployeeAsync({language})
;
language |
required |
The Country-Language code. |
try
{
var language = "en-US"
var webviewOperationRsp = await SimphonyKioskAPI.validateEmployeeAsync(language);
} catch (operationError)
{
console.Log(operationError.message);
}
validateEmployeeAsync(language)
returns WebViewOperationRsp.
Url |
URL to load the employee verification module |
If the call fails the response of WebViewOperationRsp.
Url |
No URl return | ||
Message |
An active webview is already open | ||
Description |
Only one webview served up by kiosk handler can be open at any time. If an attempt is made to open a subsequent webview, callers will receive this response clarifying why the request was not honored. |
WebViewOperationRsp.Url
to load the following employee verification workflow: {
isValid: true,
message: ""
type: "employee_validation"
}
{
isValid: false,
message: "User Cancelled"
type: "employee_validation"
}
SimphonyKioskApi has synchronous and asynchronous functions for age verification. Both functions take 'Country-Language code' string as the only parameter.
The validateAlcoholPurchase(language)
function will return a WebViewOperationRsp containing the age verification URL.
The validateAlcoholPurchaseAsync(language)
function will return a WebViewOperationRsp containing the age verification URL.
SimphonyKioskAPI.validateAlcoholPurchaseAsync({language})
;
language |
required |
The Country-Language code. |
try
{
var language = "en-US"
var webviewOperationRsp = await SimphonyKioskAPI.validateAlcoholPurchaseAsync(language);
} catch (operationError)
{
console.Log(operationError.message);
}
validateAlcoholPurchaseAsync(language)
returns WebViewOperationRsp.
Url |
URL to load the employee verification module |
If the call fails the response of WebViewOperationRsp.
Url |
No URl return | ||
Message |
An active webview is already open | ||
Description |
Only one webview served up by kiosk handler can be open at any time. If an attempt is made to open a subsequent webview, callers will receive this response clarifying why the request was not honored. |
WebViewOperationRsp.Url
to load the following age verification workflow:Employee Login
to load the following employee verification workflow:Yes
event following response is return {
isValid: true,
message: ""
type: "alcoholpurchase_validation"
}
No
event following response is return {
isValid: false,
message: "Age requirement not met"
type: "alcoholpurchase_validation"
}
SimphonyKioskApi has synchronous and asynchronous functions to redeem and void redeem stored value card.
Both functions take 'RedeemCardRequest' the parameter.
The submitStoredValueCommandModuleRedeemCard(RedeemCardRequest)
function will return a RedeemCardURLResponse containing the stored value card redeem URL.
The submitStoredValueCommandModuleRedeemCardAsync(RedeemCardRequest)
function will return a RedeemCardURLResponse containing the stored value card redeem URL.
SimphonyKioskAPI.submitStoredValueCommandModuleRedeemCardAsync(RedeemCardRequest)
;
commandModuleObjNum |
required |
The command module number. | |
ModuleId |
required |
The moduleId as define in EMC. | |
RvcNumber |
required |
The revenue center number. | |
EmployeeId |
required |
The employee Id. | |
Language |
required |
The Country-Language code. | |
CheckTotalDue |
required |
The Total due on the check. |
var redeemCardRequest = new SimphonyKiosk.StoredValueCommandModule.RedeemCardRequest();
redeemCardRequest.CommandModuleObjNum = 1;
redeemCardRequest.ModuleId = "KioskModule";
redeemCardRequest.RvcNumber = 28;
redeemCardRequest.EmployeeId = 38;
redeemCardRequest.Language = "en-US";
redeemCardRequest.CheckTotalDue = 25.50;
try
{
var redeemCardResponse = await SimphonyKioskAPI.submitStoredValueCommandModuleRedeemCardAsync(redeemCardRequest);
} catch (operationError)
{
console.Log(operationError.message);
}
submitStoredValueCommandModuleRedeemCardAsync(redeemCardRequest)
returns #RedeemCardURLResponse.
Url |
URL to load the stored value card redeem module | ||
Message |
TODO: ?. "An active webview is already open" | ||
Description |
TODO: ? |
redeemCardResponse.Url
to load the following Stored value card workflow: {
RedeemCardSuccess: true,
RedeemAmount: 25.50,
ItemType: "T",
ItemNumber: 2,
IsOfflineAutoVoid: false,
Message: "RedeemCard"
}
{
RedeemCardSuccess: false,
RedeemAmount: 0,
ItemType: null,
ItemNumber: 0,
IsOfflineAutoVoid: false,
Message: "RedeemCard"
}
SimphonyKioskApi has synchronous and asynchronous functions to redeem and void redeem stored value card.
Both functions take 'RedeemCardRequest' the parameter.
The submitStoredValueCommandModuleVoidRedeemCard(VoidRedeemCardRequest)
function will return a RedeemCardURLResponse containing the stored value card void redeem URL.
The submitStoredValueCommandModuleVoidRedeemCardAsync(VoidRedeemCardRequest)
function will return a RedeemCardURLResponse containing the stored value card void redeem URL.
SimphonyKioskAPI.submitStoredValueCommandModuleVoidRedeemCardAsync(VoidRedeemCardRequest)
;
commandModuleObjNum |
required |
The command module number. | |
ModuleId |
required |
The moduleId as define in EMC. | |
RvcNumber |
required |
The revenue center number. | |
EmployeeId |
required |
The employee Id. | |
Language |
required |
The Country-Language code. | |
VoidRedeemAmount |
required |
The Total amount to void redeem. |
var voidRedeemCardRequest = new SimphonyKiosk.StoredValueCommandModule.VoidRedeemCardRequest();
voidRedeemCardRequest.CommandModuleObjNum = 1;
voidRedeemCardRequest.ModuleId = "KioskModule";
voidRedeemCardRequest.RvcNumber = 28;
voidRedeemCardRequest.EmployeeId = 38;
voidRedeemCardRequest.Language = "en-US";
voidRedeemCardRequest.VoidRedeemAmount = 25.50;
try
{
var voidRedeemCardResponse = await SimphonyKioskAPI.submitStoredValueCommandModuleVoidRedeemCardAsync(voidRedeemCardRequest);
} catch (operationError)
{
console.Log(operationError.message);
}
submitStoredValueCommandModuleVoidRedeemCardAsync(voidRedeemCardRequest)
returns VoidRedeemCardResponse.
Url |
URL to load the stored value card void redeem module |
Void Redeem process run in the background and once process finish the following response is return.
{
VoidRedeemCardSuccess: false,
LastError: 0,
Message: "VoidRedeemCard"
}
The Simphony Kiosk JavaScript API can be used to get information about a revenue center and place orders.
Initializes the API. It opens a connection to the POS and loads kioskParameters and posConfiguration data
Type: Function
(any)
Configuration for the API
Name | Description |
---|---|
config.key
string
|
A string identifying the client, e.g. 'DeveloperKioskWebApp' |
config.onApiEvent any |
A function to handle events raised by the API #events raised by the API will have one of the folowing values for event.Message:'ApiReady', 'Scanner', 'ScannerError', 'Error', 'Startup', 'ConfigurationDataUpdated', 'MenuItemAvailabilityDataUpdated', 'ServerConnectionLost', 'DataStore' |
A JSON string containing various settings for the Kiosk Web app, Its value is KioskParameters entry in EMC's @Content@ for the current revenue center.
Type: KioskParameters
any
: an object containing the kiosk parameters, or null if not found
Sends a log message to the EGateway log
Submits a payment for processing
(AuthAndPayRequest)
The payment request
AuthAndPayResponse
: The payment response
Submits a payment for processing
(AuthAndPayRequest)
The payment request
AuthAndPayResponse
: A promise containing the payment response
These are the types used for creating and placing Checks.
AuthAndPayResponse class
Gets or sets the DriverDescription
(string)
Gets or sets the RespCode, successful RespCode are ["00", "11", "16"]
(string)
The model for a Check.
Array of extension detail. (optional)
(Array<ExtensionItem>?)
Array of service charges. (optional)
(Array<ServiceChargeItem>?)
Array of discounts. (optional)
(Array<DiscountItem>?)
Array of combo meal items. (optional) If there were no combo meal items on the check the returned array will be empty.
(Array<ComboMealItem>?)
Array of tender items. (optional)
(Array<TenderItem>?)
The check header contains information describing the overall check.
(CheckHeader)
Contains a set of totals for aspects of the check. (optional)
The values from the check total object relate in the following way:
subtotal (sum of menu items sales - discounts) - discountTotal + autoServiceChargeTotal + serviceChargeTotal + taxTotal - paymentTotal = totalDue
(CheckTotals)
The check header contains information describing the overall check.
Flag used to identify a training check. (optional)
(boolean?)
The language culture reference associated with the check. (optional) This value is used to return "name" property of check items in a desired language.
(string?)
The number of guests on the check. (optional)
(int?)
The time requested for the order to be collected. (optional)
If not provided the current time plus the Service Level Time for the given order type is assumed. Time is local in the request but UTC in the response.
(Date?)
The time requested for the order to "fire" to the kitchen. (optional)
This is when preparation will start. If not provided, the current time is assumed. The dateTime in requests should be reflected in the Location/RVCs localized time, while responses will be shown in Zulu/UTC+0.
(Date?)
The time the check is opened/created. Time is UTC. (optional)
(Date?)
The table-group of the check. (optional)
Assigned by POS and indicates the number of checks open checks with the same table.
(int?)
Table number or name (optional)
The table for the check from the revenue center configuration.tableName attribute can reflect either a single table number or a table name (in both cases represented by a string data type in the api).
RVC option bit 18 is responsible for deciding if the value reflected in the tableName is utilized by the POS as the table name or the table number.
(string?)
The order type identifier from the revenue center configuration.
(number)
The identifier of the employee that is used for the operations.Simphony: the employee object number.
(number)
The reference for the check provided at time of check creation. (optional)
This must be unique among all open checks at the revenue center.
(string?)
A check identifier generated by the POS when the check is created. (optional)
(int?)
A unique identifier for the request generated by the integrator.
Pattern: [0-9a-f]{32} This should be a UUID v4 formatted value minus dashes.
(string)
The unique check reference generated by the POS system when the check is created. (optional)
(string?)
Information about the status of the check. (optional)
Allowed Values:
open
: indicates the check has a balance due and is 'open' (meaning it can be modified)closed
: indicates the check has been paid in full and is 'closed' (meaning it cannot be modified)(string?)
An identifier of a payment store provided by the point of sale. (optional) testing
(string?)
Information about the preparation status of the check, with submitCheck response. (optional)
Allowed Values:
Uninitialized
: indicates that the check was not fired. In use when pickupTime and fireTime is utilized in the request. Also returned when check status is
"closed".
Submitted
: indicates that one or more items on the check have been fired to the kitchen.Prepared
: indicates that one or more items on the check have been prepared and moved "bumped" to the next stage.Packaged
: indicates that the check expedition was done.(string?)
Contains a set of totals for aspects of the check.
The values from the check total object relate in the following way:
subtotal (sum of menu items sales - discounts) - discountTotal + autoServiceChargeTotal + serviceChargeTotal + taxTotal - paymentTotal = totalDue
The subtotal of the check. (optional)
This is the sum of net menu item totals.
The net menu item total for a single menu item is: (menu item total + item discounts + surcharge)
.
(decimal?)
The total of discounts applied to the subtotal. (optional)
(decimal?)
The total of service charges automatically added to the check. (optional)
(decimal?)
The service charge total of the check. (optional)
(decimal?)
The tax total of the check. (optional)
This value excludes any inclusive tax.
(decimal?)
The total of the payments on the check. (optional)
(decimal?)
The remaining balance due for the check. (optional)
(decimal?)
A Combo Meal that can be ordered.
Seat assignment for the item. (optional)
(int?)
A menu item on the check represents an item that is purchased.
(MenuItem)
A menu item on the check represents an item that is purchased.
(MenuItem)
Array of extension detail (optional)
(Array<ExtensionItem>?)
CondimentItem class
Additional text associated with the item. (optional)
(string?)
Seat number of item on the check. (optional)
(int?)
Amount of item for the specified quantity. (optional)
(decimal?)
The price sequence number to set the appropriate price level. (optional)
(int?)
The price that should be used for the item. (optional)
(number)
The quantity of this item. (optional)
If present minimum value is 1.
(decimal?)
The menu item definition sequence identifier.
Indicates the definition of item that is used.
This value is ignored on Oracle.RES platform.
(number)
Surcharge amount. (optional)
(decimal?)
Array of discounts applied to the menu item. (optional)
(Array<DiscountItem>?)
Definition of a discount that can be applied to a transaction.
Seat number of item on the check. (optional)
(int?)
Additional text associated with the discount. (optional)
(string?)
The value of the discount for the associated line number. (optional)
In the request, if the discount is an open discount then set value to the amount (1.25) or percentage (0.1250 for 12.5%) that should be applied.
For preset discounts the total property in the request is ignored.
In the response, the total is the amount by which the transaction is discounted.
(decimal?)
Flag to indicate the item was applied by automatically by the POS system. (optional)
(boolean?)
Array of extension detail.
(Array<ExtensionItem>)
Object that can contain extensibility detail to be stored with the check.
Array of options that define behavior of the extension item. (optional)
Option | Description |
---|---|
printOnDisplay | When specified the displayName is shown on the display |
printOnReceipt | When specified the displayName is printed on the receipt/check |
printInKitchen | When specified the displayName is printed on the kitchen chit |
includeInApiResponse | When specified the extension item is return as part of the check in the API responses. |
A string displayed and/or printed if this item is displayed or printed. (optional)
(string?)
The name of the application associated with this data. (optional)
Defined by the caller.
(string?)
Name of the data stored by this extensibility item. (optional)
(string?)
A menu item on the check represents an item that is purchased. 111
Array of discounts applied to the menu item. (optional)
(Array<DiscountItem>?)
The calculated surcharge amount based on the rate configured for the surcharge associated with the item. (optional)
(decimal?)
Additional text associated with the item. (optional)
Maximum Length: 20
(string?)
Seat number of item on the check. (optional)
(int?)
The total cost of the item (extended to account for the quantity). (optional)
(decimal?)
The price sequence number to set the appropriate price level. (optional)
(int?)
The price associated with the item. (optional)
(decimal?)
The quantity of this menu item. (optional)
If present minimum value is 1.
(decimal?)
The menu item definition sequence identifier. (optional)
Indicates the definition of item that is used.
This value is ignored on Oracle.RES platform.
(number)
Array of condiments represented in menu item. (optional)
If there are no condiments configured, this array will be empty.
(Array<CondimentItem>?)
Array of extension detail.
(Array<ExtensionItem>)
Payment data for the Check.
The Simphony Payment Interface (SPI) data. Only Oracle payment partners have the ability to utilise the SPI payemnt data.
Describes the type of data contained in this payment data object.
Type structure identifier, format identifier values can be found at https://docs.oracle.com/en/industries/hospitality/integration_platforms.html.
(string)
Object containing data for the type of payment.
A service charge that can be applied to a transaction.
The service charge's object number reference.
(number)
The value of the service charge. (optional)
In the request, if the service charge is an open then set value to the amount (1.25) or percentage (0.1250 for 12.5%) that should be applied.
For preset a service charge the total property in the request is ignored. In the response, the total is the amount of the service charge applied to the check.
(decimal?)
Seat number of item on the check. (optional)
(int?)
Additional text associated with the service charge. (optional)
(string?)
Array of extension detail. (optional)
(Array<ExtensionItem>?)
TenderItem class
The total of the tender item. (optional)
A value of zero will result payment for the full amount.
(decimal?)
The amount of charged tip to apply to the transaction. (optional)
This amount is the portion of the payment that represents the charged tip.
The chargedTipTotal field will not have an impact on a check if the "total" field is not specified.
(decimal?)
Additional text associated with the tender. (optional)
(string?)
Payment data for the tender (optional)
You can access Oracle Payment Interface documentation through the following Oracle Hospitality documentation page: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html
(PaymentData?)
Array of extension detail. (optional)
(Array<ExtensionItem>?)
Sets paymentData to 'undefined'. This should be used when using a serviceTotal tender.
The model for a PrintLinesRequest.
Error response of SimphonyKioskApi.
Brief explanation of the cause of the error.
(string)
Additional details about the cause of the error.
(PosApiResponse)
These are the types returned by SimphonyKioskApi posConfiguration()
Configuration data for this revenue center
Type: Object
(Menu)
: The menu for this revenue center
(DiscountCollection)
: The discounts for this revenue center
(TenderCollection)
: The tenders for this revenue center
(ServiceChargeCollection)
: The service charges for this revenue center
(BarcodeCollection)
: The barcodes for this revenue center
(RevenueCenter)
: Information about this revenue center
(Location)
: The location for this revenue center
(MenuItemAvailability)
: The currently unavailable menu items for this revenue center
A menu describes the set of items that can be ordered from a revenue center. The menu includes the menu items, prices, and related information necessary to order an item.
The menu's combo meals
Type: Array<ComboMealItem>?
The menu's condiments
Type: Array<CondimentItems>?
The menu's condiment groups
Type: Array<CondimentGroup>?
The menu's family groups
Type: Array<FamilyGroupItem>?
A Menu Item is an item that is ordered.
The menu item's name translated into multiple languages
Type: TranslatedString?
Definitions for this menu item.
Type: Array<MenuItemDefinition>
A menu item definition contains operational attributes of a menu item.
The number of the definition. This value is used when ordering the item.
Type: number
The menu item definition's name translated into multiple languages.
Type: TranslatedString?
The menu item definition's name2 translated into multiple languages.
Type: TranslatedString
A collection of the screen-lookup groups for the item. This value is provided to group or filter items on a user interface.
Type: Array<ScreenLookup>?
Collection of prices that can be uses when ordering a menu item.
Type: Array<MenuItemPrice>?
The collection of condiments associated with the menu item by default.
Type: Array<DefaultCondiment>?
Defines a set of condiment groups from which items are selected when adding an the menu item to a guest check.
Type: Array<CondimentGroupRule>?
The consumer name translated into multiple languages.
Type: TranslatedString?
The consumer description translated into multiple languages.
Type: TranslatedString?
The consumer advisory text translated into multiple languages.
Type: TranslatedString?
A list of nutritional data for the menu item. It is assumed that nutritional items are defined where the serving size is one of the menu item.
Type: Array<NutritionalData>?
A Condiment Item is an item used to provide information about how a menu item is prepared. Condiments may have prices that add to price of the item it modifies. Condiments may also have default condiments and its condiment modifications, e.g., a Steak with Salad option that has a dressing option.
The name of the condiment translated into multiple languages
Type: TranslatedString
This condiment's definitions
Type: Array<CondimentItemDefinition>
Model for a Family Group
The name of the family group translated into multiple languages.
Type: TranslatedString?
The consumer facing name of the family group translated into multiple languages.
Type: TranslatedString?
The consumer facing description of the family group translated into multiple languages.
Type: TranslatedString?
Model for an allergen
The name of the allergen translated into multiple languages.
Type: TranslatedString?
A condiment item definition contains operational attributes of a condiment item.
The number of the definition. This value is used when ordering the item.
Type: number
The name of this condiment definition translated into multiple languages.
Type: TranslatedString
The name2 of this condiment definition translated into multiple languages.
Type: TranslatedString
A collection of the screen-lookup groups for the item. This value is provided to group or filter items on a user interface.
Type: Array<ScreenLookup>?
Collection of prices that can be used when ordering a condiment item.
Type: Array<MenuItemPrice>?
The consumer name translated into multiple languages.
Type: TranslatedString?
The consumer description translated into multiple languages.
Type: TranslatedString?
List of nutritional Data that apply to this condiment item.
Type: Array<NutritionalData>?
A list of option values. If present the corresponding option is set. Duplicates are ignored. (Note - Supported by Simphony version 19.2.1 or greater. Ignored for Simphony version 19.2.0.).
Type:
Array<"containsAlcohol"
>?
A group that references one-or-more condiment items
The name of this condiment group translated into multiple languages.
Type: TranslatedString
The consumer name translated into multiple languages.
Type: TranslatedString?
The consumer description translated into multiple languages.
Type: TranslatedString?
Represents a default condiment for a menu item.
Information about a Screen Lookup (SLU)
Represents the SLU property name of the POS menu item definition. SLU2 is sluNumber = 2, SLU8 is sluNumber = 8 etc. SLU is sluNumber = 1.
Type: number
The SLU name translated into multiple languages.
Type: TranslatedString?
Represents a price for a menu item.
A collection of discount information for a revenue center
Definition of a discount that can be applied to a transaction.
A string that contains translations into multiple languages
Type: TranslatedString?
The amount or percentage of the discount. If value is not present or is zero, then the value must be provided when the discount is added to a check.
Type: number?
5
The consumer name translated into multiple languages
Type: TranslatedString?
The consumer description translated into multiple languages
Type: TranslatedString?
Definition of a tender that can be applied to a transaction.
Definition of a tender that can be applied to a transaction.
A tender can be either a 'service total' or a 'payment'. A 'service total' is used to submit an order without payment.
{foo: bar}
Tender Type
Type: ("serviceTotal"
| "payment"
)
"serviceTotal"
The consumer name translated into multiple languages
Type: TranslatedString?
The consumer description translated into multiple languages
Type: TranslatedString?
A collection of service charges for a revenue center
The service charges for this revenue center
Type: Array<ServiceChargeItems>?
Definition of a service charge that can be applied to a transaction.
Service Charge Type
Type: ("amount"
| "percentage"
)
"amount"
The amount or percentage of the service charge. If value is not present or is zero, then the value must be provided when the service charge is added to a check.
Type: number?
5
The consumer name translated into multiple languages
Type: TranslatedString?
The consumer description translated into multiple languages
Type: TranslatedString?
A collection of barcode items for a revenue center.
Revenue Center Revenue Center (Rvc) is the organizational unit that produces and sells items. A Revenue Center has a Property.
{
"orgShortName": "HWFC",
"locRef": "HWFCrobbie",
"rvcRef": 5234,
"name": "Bar",
"orderTypes": [
{
"orderTypeRef": 1,
"name": "Eat In",
"serviceLevelTime": 20,
"suggestedTips": [
{
"isDefault": false,
"percentage": 10
},
{
"isDefault": true,
"percentage": 20
},
{
"isDefault": false,
"percentage": 25
}
]
},
{
"orderTypeRef": 2,
"name": "Take Out",
"serviceLevelTime": 30,
"suggestedTips": [
{
"isDefault": true,
"percentage": 18
},
{
"isDefault": false,
"percentage": 20
},
{
"isDefault": false,
"percentage": 25
}
]
}
],
"orderChannels": [
{
"orderChannelId": 1,
"name": {
"en-US": "Default"
},
"isDefault": true,
"serviceLevelTime": 10
},
{
"orderChannelId": 2,
"name": {
"en-US": "Mobile Ordering"
},
"isDefault": false,
"serviceLevelTime": 4
}
],
"tables": [
"1",
"2",
"3",
"B1",
"B2"
],
"address": {
"addressLine1": "144 W 54th St",
"addressLine2": "Suite 11B",
"floor": "42A",
"locality": "New York",
"region": "NY",
"postalCode": "10019",
"country": "USA",
"notes": "West Entrance"
},
"phoneNumber": "2741022334",
"geoLocation": {
"latitude": 40.763188,
"longitude": -73.914835
}
}
Array of order channels that are available at this revenue center.
Type: Array<OrderChannel>?
[{"orderChannelId":1,"name": {"en-US": "Default"} , "isDefault": true}, {"orderChannelId":2,"name": {"en-US": "Mobile Ordering"} , "isDefault": false}]}]
Represents a postal address.
Type: PostalAddress?
Coordinate of a location.
Type: GeoLocation?
Defines an order type. The Order Type is used by the POS to define the workflow of an order, e.g., Dine-In vs Take-Out.
{"orderTypeRef":1,"name":"Eat In"}
The required time for the given order type to be prepared.
Type: number?
An array of suggested tip values.
Type: Array<SuggestedTip>?
Defines an order channel.
{"orderChannelId":2,"name": {"en-US": "Mobile Ordering"} , "isDefault": false}
Defines a suggested tip type. The Suggested Tip is representing a predefined percentage that can be used as a tip and may be marked as a default one when used in a list.
{"isDefault":true,"percentage":10}
Represents a postal address.
Coordinate of a location.
Both latitude and longitude must contain valid values.
Organization An organization is the business entity that manages food service operations.
{"orgShortName":"HWFC","name":"Hermit Woods Food Co."}
Location A location represents a physical place managed by an organization.
{"orgShortName":"HWFC","locRef":"HWFCrobbie","name":"Robbie Mills Stadium","currency":"USD","languages":["en-GB","fr-FR","de-DE"],"timezone":{"ianaName":"Europe/London","windowsName":"GMT Standard Time","tzIndex":85},"address":{"addressLine1":"144 W 54th St","addressLine2":"Suite 11B","floor":"42A","locality":"New York","region":"NY","postalCode":"10019","country":"USA","notes":"West Entrance"},"phoneNumber":"(0030) 0453 343 234","geoLocation":{"latitude":40.763188,"longitude":-73.914835},"posPlatform":{"name":"Oracle.Simphony","version":"19.2.0.1234"}}
The currency of the location. Pricing displayed on menus from the location are in this currency, and all check operations are in this currency. Currency is presented in.
Type: string?
"EUR"
Associated phone number.
Type: PhoneNumber?
Represents a postal address.
Type: PostalAddress?
Coordinate of a location.
Type: GeoLocation?
Identifies the POS Platform running at the location.
Type: PosPlatform?
A collection of currently unavailable menu items.
Information about unavailable menu items.
Type: Array<MenuItemAvailabilityData>?
Availability data for a menu item.
The unavailable definition sequences of the menu item.
Represents the associated timezone.
{ianaName: "Asia/Kathmandu", windowsName: "Nepal Standard Time", tzIndex: 193 }
The integer representation of the Index column from https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values
Type: number
193
Tax definitions for a revenue Center
A collection of tax classes
Type: Array<TaxClassItem>
A collection of tax rates
Type: Array<TaxRateItem>
Definition of a tax rate.
The tax rate type. Valid values are
Type: ("disabled"
| "addonBreakpoint"
| "addonPercent"
| "includedPercent"
| "surcharge"
)?
"addonBreakpoint"
Tax rate names translated into multiple languages
Type: TranslatedString?
{"en-US":"Coffee","de-DE":"Kaffee","ar-AR":"قهوة"}
A menu describes the set of items that can be ordered from a revenue center. The menu includes the menu items, prices, combo groups and related information necessary to order an item.
The menu's combo groups
Type: Array<ComboGroupsV2>?
The menu's combo meals
Type: Array<ComboMealItemV2>?
The menu's condiments
Type: Array<CondimentItems>?
The menu's condiment groups
Type: Array<CondimentGroupV2>?
The menu's family groups
Type: Array<FamilyGroupItem>?
A Combo Group that may be reference as part of a Combo Meal.
The name of the combo group translated into multiple languages
Type: TranslatedString
A menu item which is part of a combo meal.
Type: Array<ComboGroupItemV2>
A menu item which is part of a combo meal.
A reference to an item in the Menu.menuItems
collection. This is the item ordered by default and if no sizing is available.
Type: number
Combo group item price
Type: Array<ComboGroupItemPriceV2>
Identifies the item reference to use for each size, if combo meal is "sizable"
Type: Array<ComboGroupItemSizeV2>
A Combo Meal that can be ordered.
The name of the combo meal translated into multiple languages
Type: TranslatedString
A reference to the item in Menu.menuItems
that represents the main item used when ordering a combo meal.
Type: number
Options related to the definition of this item. Indicates that 1 or more sizes can be applied to this combo meal.
Type: string
"isSized"
An array of combo groups.
Type: Array<ComboGroupMapV2>
Defines how a combo meal group is included in a combo meal
A group that references one-or-more condiment items.
The name of the condiment group translated into multiple languages
Type: TranslatedString
An array of condiment groups.
Type: Array<CondimentGroupItemRefV2>
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"menuId": "myb:store2:dining",
"name": "Bar Menu",
"description": "string",
"menuItems": [
{
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"menuItemId": 32,
"familyGroupRef": 0,
"definitions": [
{
"definitionSequence": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"name2": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"slus": [
{
"sluNumber": 0,
"sluId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "pizza",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"taxClassRef": 0,
"prices": [
{
"priceSequence": 0,
"price": 0,
"name": "string"
}
],
"defaultCondiments": [
{
"condimentRef": 0,
"quantity": 1
}
],
"condimentGroupRules": [
{
"condimentGroupRef": 5802109,
"minimumCount": 1,
"maximumCount": 0
}
],
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "pizza",
"description": "string",
"isCloudImage": true,
"size": "string"
}
],
"consumerAdvisoryText": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"allergens": [
"milk",
"peanut"
],
"nutritionalData": [
{
"nutritionalItemId": "fat, sodium",
"value": 475,
"unitOfMeasure": "grams, milligrams, calorie",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
}
}
],
"options": [
"containsAlcohol"
],
"tags": [
"hot",
"cold"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
],
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
"dietaryInformation": [
"string"
],
"tags": [
"string"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
]
}
],
"comboMeals": [
{
"comboMealId": 0,
"name": "string",
"menuItemRef": 0,
"comboGroups": [
{
"comboGroupId": 0,
"name": "string",
"count": 0,
"isMainGroup": true,
"prices": [
{
"priceSequence": 0,
"price": 0,
"name": "string"
}
],
"menuItems": [
{
"menuItemRef": 0,
"count": 0,
"prices": [
{
"priceSequence": 0,
"price": 0,
"name": "string"
}
]
}
]
}
]
}
],
"condimentItems": [
{
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"condimentId": 32,
"familyGroupRef": 0,
"definitions": [
{
"number": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"name2": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"slus": [
{
"sluNumber": 0,
"sluId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "pizza",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"prices": [
{
"priceSequence": 0,
"price": 0,
"name": "string"
}
],
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "pizza",
"description": "string",
"isCloudImage": true,
"size": "string"
}
],
"allergens": [
"milk",
"peanut"
],
"nutritionalData": [
{
"nutritionalItemId": "fat, sodium",
"value": 475,
"unitOfMeasure": "grams, milligrams, calorie",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
}
}
],
"options": [
"containsAlcohol"
],
"tags": [
"hot",
"cold"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
],
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
"dietaryInformation": [
"string"
],
"tags": [
"string"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
]
}
],
"condimentGroups": [
{
"condimentGroupId": 32,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"condimentItemRefs": [
0
],
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "pizza",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"familyGroups": [
{
"familyGroupItemId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "pizza",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"allergens": [
{
"allergenId": "string",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
}
}
]
}
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"items": [
{
"discountId": 13,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"type": "amount",
"value": 5,
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
]
}
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"items": [
{
"serviceChargeId": 0,
"name": "string",
"type": "amount",
"value": 5,
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
]
}
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"taxClasses": [
{
"taxClassId": 0,
"activeTaxRateRefs": [
0
]
}
],
"taxRates": [
{
"taxRateId": 0,
"percentage": 0,
"taxType": "addonBreakpoint",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"repeatStartIndex": 0,
"repeatEndIndex": 0,
"startAmount": 0,
"breakpoints": [
0
]
}
]
}
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"items": [
{
"tenderId": 0,
"name": "string",
"type": "serviceTotal",
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
]
}
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"items": [
{
"barcodeId": 1,
"barcode": "00003000002",
"menuItemId": 32.
"definitionSequence": 1,
"price": 14.99
}
]
}
{
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2,
"items": [
{
"menuItemId": 32,
"definitions": [
{
"definitionSequence": 1
}
]
}
]
}
{
"orgShortName": "tfoinc",
"locRef": "fdmnh144",
"name": "The Food Organization Inc",
"currency": "USD",
"languages": [
"en-GB",
"fr-FR",
"de-DE"
],
"timezone": {
"ianaName": "America/New_York",
"windowsName": "Eastern Standard Time",
"tzIndex": 23
},
"address": {
"addressLine1": "144 W 54th St",
"addressLine2": "Suite 11B",
"floor": "42A",
"locality": "New York",
"region": "NY",
"postalCode": "10019",
"country": "USA",
"notes": "West Entrance"
},
"phoneNumber": "(0030) 0453 343 234",
"geoLocation": {
"latitude": 40.763188,
"longitude": -73.914835
},
"posPlatform": {
"name": "Oracle.Simphony",
"version": "19.2.0.1234"
}
}
{
"orgShortName": "tfoinc",
"locRef": "fdmnh144",
"rvcRef": 5234,
"name": "Bar",
"orderTypes": [
{
"orderTypeRef": 1,
"name": "Eat In",
"serviceLevelTime": 20,
"suggestedTips": [
{
"isDefault": false,
"percentage": 10
},
{
"isDefault": true,
"percentage": 20
},
{
"isDefault": false,
"percentage": 25
}
]
},
{
"orderTypeRef": 2,
"name": "Take Out",
"serviceLevelTime": 30,
"suggestedTips": [
{
"isDefault": true,
"percentage": 18
},
{
"isDefault": false,
"percentage": 20
},
{
"isDefault": false,
"percentage": 25
}
]
}
],
"tables": [
"1",
"2",
"3",
"B1",
"B2"
],
"address": {
"addressLine1": "144 W 54th St",
"addressLine2": "Suite 11B",
"floor": "42A",
"locality": "New York",
"region": "NY",
"postalCode": "10019",
"country": "USA",
"notes": "West Entrance"
},
"phoneNumber": "2741022334",
"geoLocation": {
"latitude": 40.763188,
"longitude": -73.914835
}
}
"geoLocation": {
"latitude": 40.763188,
"longitude": -73.914835
}
"orderTypes": [
{
"orderTypeRef": 1,
"name": "Eat In"
},
{
"orderTypeRef": 2,
"name": "Take Out"
}
]
"suggestedTips": [
{
"isDefault": false,
"percentage": 10
},
{
"isDefault": true,
"percentage": 20
},
{
"isDefault": false,
"percentage": 25
}
]
"posPlatform": {
"name": "Oracle.Simphony",
"version": "19.2.0.1234"
}
"address": {
"addressLine1": "144 W 54th St",
"addressLine2": "Suite 11B",
"floor": "42A",
"locality": "New York",
"region": "NY",
"postalCode": "10019",
"country": "USA",
"notes": "West Entrance"
}
"timezone": {
"ianaName": "America/New_York",
"windowsName": "Eastern Standard Time",
"tzIndex": 23
}
{
"menuItems": [
{
"menuItemId": 32,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"familyGroupRef": 0,
"definitions": [
{
"definitionSequence": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"name2": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"slus": [
{
"sluNumber": 0,
"sluId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "Close-up of a cup of coffee with a saucer, showing a dark brown liquid with a frothy top.",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"taxClassRef": 0,
"prices": [
{
"priceSequence": 0,
"price": 0,
"name": "string"
}
],
"defaultCondiments": [
{
"condimentRef": 0,
"quantity": 1
}
],
"condimentGroupRules": [
{
"condimentGroupRef": 5802109,
"minimumCount": 1,
"maximumCount": 0
}
],
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "Close-up of a cup of coffee with a saucer, showing a dark brown liquid with a frothy top.",
"description": "string",
"isCloudImage": true,
"size": "string"
}
],
"consumerAdvisoryText": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"allergens": [
"milk",
"peanut"
],
"nutritionalData": [
{
"nutritionalItemId": "fat, sodium",
"value": 475,
"unitOfMeasure": "grams, milligrams, calorie",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
}
}
],
"options": [
"allowCondimentPrefix",
"containsAlcohol"
],
"tags": [
"hot",
"cold"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
],
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
"dietaryInformation": [
"string"
],
"tags": [
"string"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
]
}
],
"comboMeals": [
{
"comboMealId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"options": "isSized",
"menuItemRef": 0,
"mealGroups": [
{
"comboGroupRef": 0,
"isPrimary": true,
"sideCount": 0,
"prices": [
{
"priceId": 0,
"price": 0
}
]
}
]
}
],
"comboGroups": [
{
"comboGroupId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"items": {
"menuItemRef": 0,
"count": 0,
"sizes": [
{
"sizeId": "size1",
"menuItemRef": 0
},
{
"sizeId": "size2",
"menuItemRef": 0
},
{
"sizeId": "size3",
"menuItemRef": 0
},
{
"sizeId": "size4",
"menuItemRef": 0
}
],
"prices": [
{
"priceId": 0,
"price": 0
}
]
},
"alternateGroups": [
{
"comboGroupRef": 0
}
]
}
],
"condimentItems": [
{
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"condimentId": 32,
"familyGroupRef": 0,
"definitions": [
{
"number": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"name2": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"slus": [
{
"sluNumber": 0,
"sluId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "Close-up of a cup of coffee with a saucer, showing a dark brown liquid with a frothy top.",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"prices": [
{
"priceSequence": 0,
"price": 0,
"name": "string"
}
],
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "Close-up of a cup of coffee with a saucer, showing a dark brown liquid with a frothy top.",
"description": "string",
"isCloudImage": true,
"size": "string"
}
],
"allergens": [
"milk",
"peanut"
],
"nutritionalData": [
{
"nutritionalItemId": "fat, sodium",
"value": 475,
"unitOfMeasure": "grams, milligrams, calorie",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
}
}
],
"options": [
"allowCondimentPrefix",
"containsAlcohol"
],
"tags": [
"hot",
"cold"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
],
"extensions": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
"dietaryInformation": [
"string"
],
"tags": [
"string"
],
"tagGroups": [
{
"id": "string",
"tags": [
"spicy",
"lo-carb"
]
}
]
}
],
"condimentGroups": [
{
"condimentGroupId": 32,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"condimentItemRefs": [
{
"condimentItemRef": 0,
"definitionSequence": 0
}
]
}
],
"familyGroups": [
{
"familyGroupItemId": 0,
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerName": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"consumerDescription": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
},
"images": [
{
"index": "string",
"url": "https://oracleObjectStore.com/images/coffee822815.jpg",
"altText": "Close-up of a cup of coffee with a saucer, showing a dark brown liquid with a frothy top.",
"description": "string",
"isCloudImage": true,
"size": "string"
}
]
}
],
"allergens": [
{
"allergenId": "string",
"name": {
"en-US": "Coffee",
"de-DE": "Kaffee",
"ar-AR": "قهوة"
}
}
],
"options": {
"condimentPrefixes": [
{
"prefixId": integer,
"prefixType": "string",
"name": {
"en-US": "No"
}
},
{
"prefixId": integer,
"prefixType": "string",
"name": {
"en-US": "Add"
}
},
{
"prefixId": integer,
"prefixType": "string",
"name": {
"en-US": "Substitute"
}
},
{
"prefixId": integer,
"prefixType": "string",
"name": {
"en-US": "Desciption",
"de-DE": "Beschreibung",
"en-CA": "Desciption",
"sk-SK": "Popis"
}
}
]
},
"menuId": "mymeal:store66:2",
"name": "1",
"orgShortName": "mymeal",
"locRef": "store66",
"rvcRef": 2
}