Simphony Kiosk JS API

Oracle® Simphony
Kiosk JavaScript API Reference Guide
Release 19.9
G43101-01
September 2025

Copyright © 2025, Oracle and/or its affiliates.

Introduction

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.

Prerequisites

  1. A Web Development IDE of their choosing.
  2. Integrators should be familiar with developing web based applications using common web technologies.
  3. Integrators should be familiar with using common browser debug tools like those found in Firefox and Chrome.
  4. Integrators should have a sound understanding of hospitality concepts and be familiar with Simphony application architecture and data models.
  5. Integration to the Simphony Kiosk Javascript API filename KioskAPI.js, requires that integrators have a Simphony client on the appropriate version up and running and configured as a Kiosk.

Solution Overview

Simphony Kiosk JavaScript API solution overview.

SIMPHONY KIOSK JAVASCRIPT API Solution Overview

Get Started

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.

1. Initialization

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.

API call


SimphonyKioskAPI.initialize({config});

Parameters {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.

Example of API call


var config =
{
  key: 'MyKioskWebApp',
  onApiEvent: myOnApiEventHandler,
};

SimphonyKioskAPI.initialize(config);

Example of onApiEvent callback


function myOnApiEventHandler(event)
{
  switch (event.Message)
  {
    case 'ApiReady':
      console.log('SimphonyKioskAPI initialized successfully and is ready for use.');
      break;
    default:
      console.log(event.Message);
      break;
  }
}

2. KioskParameters

Getting kiosk parameters from kioskParameters

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 the SimphonyKioskAPI.initialize api has been called sucessfully and ApiReady event has been raised. Attempts to do so before initalization is complete will result in errors or incorrect data.

API call


SimphonyKioskAPI.kioskParameters;

Example of API call


const kioskParameters: string = SimphonyKioskAPI.kioskParameters;
  if(kioskParameters) {
      let appSettings = JSON.parse(kioskParameters);
          var orgShortName: string = appSettings.orgShortName;
          var locRef: string = appSettings.locRef;
      }

KioskParameters

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."
                            ]
                        }
                    }
                }
            ]
        }
    ]
}

3. Pos Configuration

Getting configuration from posConfiguration

The SimphonyKioskApi's posConfiguration property contains all the configuration settings for the revenue center.

Before making a posConfiguration API call, please make sure that the SimphonyKioskAPI.initialize api has been called sucessfully and ApiReady event has been raised. Attempts to do so before initalization is complete will result in errors or incorrect data.

API call


SimphonyKioskAPI.posConfiguration;

Example of API call


const menu: string = SimphonyKioskAPI.posConfiguration?.menu;
  if (menu)
  {
    let menu = JSON.parse(menu);
  }

Properties of 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.

4. Calculate a Check

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.

API call


SimphonyKioskAPI.calculateTotalsAsync({check});

Parameters {check}


check required The check to calculate.

Example of API call


try
  {
    var check = await SimphonyKioskAPI.calculateTotalsAsync(check);
  } catch (operationError)
  {
    console.Log(operationError.message);
  }

API Response {check}


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.

Error Response Object


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.

5. Create Check Payment

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.

5.1 Service Total tenders

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.

Example to create Service Total tenders


var tenderItem = new SimphonyKioskAPI.TenderItem();
tenderItem.tenderId = {tenderId}
tenderItem.total = {check.Total}
tenderItem.removePaymentData();

5.2 Payment Tender

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.

API call


SimphonyKioskAPI.submitPaymentAsync({authAndPayRequest});

Parameters {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}

Example of API call


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);
    }

API Response {AuthAndPayResponse}


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.

Example to create payment tenders


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.

Fields value for "tenderItem" explained

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".

Fields value for "tenderItem.paymentData.data" explained

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.

6. Submit a Check

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.

API call


SimphonyKioskAPI.submitCheckAsync({check});

Parameters {check}


check required The check to be submitted.

Example of API call


try
  {
    var check = await SimphonyKioskAPI.submitCheckAsync(check);
  } catch (operationError)
  {
    console.Log(operationError.message);
  }

API Response {check}


submitCheckAsync(check) returns check.

Error Response Object


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.

7. Submit Print Lines

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.

API call


SimphonyKioskAPI.submitPrintLines({printLinesRequest});

Parameters {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.

Example of API call


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);
  }

API Response {printLinesResponse}


submitPrintJobAsync(printLinesRequest) returns PrintLinesResponse.

Success Opertion success true/false.
Message Print job submitted to printer [printerNumber], text lines [Number of lines printed].

8. Logging

Logging to EGateway with logToHost

The SimphonyKioskApi's logToHost can be use to send log entries to EGateway logs.

API call


SimphonyKioskAPI.logToHost({message}, {level});

Parameters


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

Example of API call


SimphonyKioskAPI.logToHost('My General Flow message', 2);
SimphonyKioskAPI.logToHost("Some message at level zero" 0);

9. Events

The SimphonyKioskApi raises asynchronous events which can be handled.

Example of event handler call


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;
        }
    }

Event types by 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.

10. Employee Verification

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.

API call


SimphonyKioskAPI.validateEmployeeAsync({language});

Parameters {check}


language required The Country-Language code.

Example of API call


try
  {
    var language = "en-US"
    var webviewOperationRsp = await SimphonyKioskAPI.validateEmployeeAsync(language);
  } catch (operationError)
  {
    console.Log(operationError.message);
  }

API Response {webviewOperationRsp}


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.

Employee Verificaiton Workflow


  1. Use the WebViewOperationRsp.Url to load the following employee verification workflow:

Employee Card Swipe Screen

  1. On a valid employee swipe card event following response is send
    {
      isValid: true,
      message: ""
      type: "employee_validation"
    }
  1. With invalid employee swipe a request to reswipe card is return:

Employee Reswipe Screen

  1. On reswipe cancelation following response is return
    {
      isValid: false,
      message: "User Cancelled"
      type: "employee_validation"
    }

11. Age Verification

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.

API call


SimphonyKioskAPI.validateAlcoholPurchaseAsync({language});

Parameters {check}


language required The Country-Language code.

Example of API call


try
  {
    var language = "en-US"
    var webviewOperationRsp = await SimphonyKioskAPI.validateAlcoholPurchaseAsync(language);
  } catch (operationError)
  {
    console.Log(operationError.message);
  }

API Response {webviewOperationRsp}


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.

Age Verificaiton Workflow


  1. Use the WebViewOperationRsp.Url to load the following age verification workflow:

Age verification request screen

  1. Click on Employee Login to load the following employee verification workflow:

Employee card wwipe screen

  1. On a valid employee swipe card event, age verification is loaded

Age verification screen

  1. On age verificaiton Yes event following response is return
    {
      isValid: true,
      message: ""
      type: "alcoholpurchase_validation"
    }
  1. On age verificaiton No event following response is return
    {
      isValid: false,
      message: "Age requirement not met"
      type: "alcoholpurchase_validation"
    }

12. Redeem Stored Value Card

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.

API call


SimphonyKioskAPI.submitStoredValueCommandModuleRedeemCardAsync(RedeemCardRequest);

Parameters {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.

Example of API call


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);
  }

API Response {RedeemCardResponse}


submitStoredValueCommandModuleRedeemCardAsync(redeemCardRequest) returns #RedeemCardURLResponse.

Url URL to load the stored value card redeem module
Message TODO: ?. "An active webview is already open"
Description TODO: ?

Redeem Stored value card workflow


  1. Use the redeemCardResponse.Url to load the following Stored value card workflow:

SVC Card Swipe Screen

SVC Card Enter Number Screen

  1. With valid svc swipe card or card number enter payment screen follow

Payment Screen

  1. Success payment response return:
    {
      RedeemCardSuccess: true,
      RedeemAmount: 25.50,
      ItemType: "T",
      ItemNumber: 2,
      IsOfflineAutoVoid: false,
      Message: "RedeemCard"
    }
  1. Failed payment response return:
    {
      RedeemCardSuccess: false,
      RedeemAmount: 0,
      ItemType: null,
      ItemNumber: 0,
      IsOfflineAutoVoid: false,
      Message: "RedeemCard"
    }

13. Void Redeem Stored Value Card

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.

API call


SimphonyKioskAPI.submitStoredValueCommandModuleVoidRedeemCardAsync(VoidRedeemCardRequest);

Parameters {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.

Example of API call


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);
  }

API Response {VoidRedeemCardResponse}


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"
    }

Simphony Kiosk JavaScript API

The Simphony Kiosk JavaScript API can be used to get information about a revenue center and place orders.

Simphony Kiosk JavaScript API
Static Members
new __SimphonyKioskAPI()

Types used in ordering

These are the types used for creating and placing Checks.

Types used in ordering
Static Members
new AuthAndPayRequest()
new AuthAndPayResponse()
new Check()
new CheckHeader()
new CheckTotals()
new ComboMealItem()
new CondimentItem()
new DiscountItem()
new ExtensionItem()
new PaymentData()
new ServiceChargeItem()
new TaxItem()
new TenderItem()
new PrintLinesRequest()
new PrintLinesResponse()
new Error()
new PosApiResponse()
new WebViewOperationRsp()

POS Configuration Types

These are the types returned by SimphonyKioskApi posConfiguration()

POS Configuration Types
Static Members
ConfigurationData
new CondimentItems()
new FamilyGroupItem()
new Allergen()
new CondimentItemDefinition()
new CondimentGroup()
new DefaultCondiment()
new ScreenLookup()
new DiscountCollection()
new DiscountItems()
new TenderCollection()
new TenderItems()
new ServiceChargeCollection()
new ServiceChargeItems()
new BarcodeCollection()
new BarcodeItem()
new RevenueCenter()
new OrderType()
new OrderChannel()
new SuggestedTip()
new PostalAddress()
new GeoLocation()
new Organization()
new Location()
new Timezone()
new PosPlatform()
new TaxDefinitions()
new TaxClassItem()
new TaxRateItem()
new TranslatedString()
new TagGroup()
new ComboGroupsV2()
new ComboGroupItemV2()
new ComboGroupItemPriceV2()
new ComboGroupItemSizeV2()
new ComboMealItemV2()
new ComboGroupMapV2()
new CondimentGroupV2()
new CondimentGroupItemRefV2()

Examples

Examples

Menu

{
     "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": "قهوة"
             }
         }
     ]
}

Discount Collection

{
    "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"
            }
        }
    ]
}

Service Charge Collection

{
    "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"
            }
        }
    ]
}

Tax Definitions

{
    "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
            ]
        }
    ]
}

Tender Collection

{
    "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"
            }
        }
    ]
}

Barcode Collection

{
    "orgShortName": "mymeal",
    "locRef": "store66",
    "rvcRef": 2,
    "items": [
        {
            "barcodeId": 1,
            "barcode": "00003000002",
            "menuItemId": 32.
            "definitionSequence": 1,
            "price": 14.99
        }
    ]
}

MenuItem Availability

{
    "orgShortName": "mymeal",
    "locRef": "store66",
    "rvcRef": 2,
    "items": [
        {
            "menuItemId": 32,
            "definitions": [
                {
                    "definitionSequence": 1
                }
            ]
        }
    ]
}

Location

{
    "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"
    }
}

Revenue Center

{
    "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

"geoLocation": {
    "latitude": 40.763188,
    "longitude": -73.914835
}

Order Type

"orderTypes": [
    {
        "orderTypeRef": 1,
        "name": "Eat In"
    },
    {
        "orderTypeRef": 2,
        "name": "Take Out"
    }
]

Suggested Tip

"suggestedTips": [
    {
        "isDefault": false,
        "percentage": 10
    },
    {
        "isDefault": true,
        "percentage": 20
    },
    {
        "isDefault": false,
        "percentage": 25
    }
]

Pos Platform

"posPlatform": {
    "name": "Oracle.Simphony",
    "version": "19.2.0.1234"
}

Postal Address

"address": {
    "addressLine1": "144 W 54th St",
    "addressLine2": "Suite 11B",
    "floor": "42A",
    "locality": "New York",
    "region": "NY",
    "postalCode": "10019",
    "country": "USA",
    "notes": "West Entrance"
}

Timezone

"timezone": {
  "ianaName": "America/New_York",
  "windowsName": "Eastern Standard Time",
  "tzIndex": 23
}

MenuV2

{
  "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
}