supersonic-models
Version:
Supersonic models and API specifications
1,536 lines (1,534 loc) • 39.4 kB
YAML
type: object
required:
- current
- serial
- product
- count
- version
- wan
- ip
- device
- raygunEnabled
- display
- timezone
- storeName
- versionId
- type
- env
- id
- datasource
- site
- initialPage
- order
- payment
- diagnostics
- mocks
- properties
- modes
- paymentMethods
- paymentMethodsOptions
- receipt
- content
- languages
- interval
properties:
current:
type: boolean
serial:
type: string
product:
type: string
example: supersonic
version:
type: string
example: "1.0.0"
wan:
type: string
ip:
type: string
device:
type: string
raygunEnabled:
type: boolean
storeAddress:
type: string
display:
type: string
example: "kiosk"
timezone:
type: string
example: "Australia/Sydney"
storeName:
type: string
example: "Fingermark Lab 1"
versionId:
type: string
type:
type: string
example: "kiosk"
env:
type: string
example: "uat"
id:
type: string
initialPage:
type: object
required:
- url
- redirect
properties:
url:
type: string
redirect:
type: boolean
order:
type: object
required:
- cancelOrderEndpoint
- organisationId
- preOrderEndpoint
- kitchenCheckEndpoint
- local
- finishOrderEndpoint
- placeOrderEndpoint
- storeId
- headers
- type
- startOrderEndpoint
properties:
cancelOrderEndpoint:
type: string
organisationId:
type: string
example: "yum-au-kfc"
preOrderEndpoint:
type: string
kitchenCheckEndpoint:
type: string
startOrderEndpoint:
type: string
placeOrderEndpoint:
type: string
finishOrderEndpoint:
type: string
storeId:
type: string
example: "16"
type:
type: string
example: "aloha"
headers:
type: object
local:
type: object
required:
- orderName
- tenderIdRules
- jobCodeId
- queueId
- orderModeRules
- defaultTenderId
- orderMode
- tenderIdMapping
- employeeId
- terminalId
properties:
orderName:
type: string
tenderIdRules:
type: array
items:
$ref: "./key-value-pair.yaml"
jobCodeId:
type: integer
queueId:
type: integer
orderModeRules:
type: array
items:
$ref: "./key-value-pair.yaml"
defaultTenderId:
type: string
example: "3"
orderMode:
type: integer
tenderIdMapping:
type: array
items:
$ref: "./key-value-pair.yaml"
employeeId:
type: integer
terminalId:
type: integer
aloha:
type: object
required:
- destination
- paymentMethodType
- endpoint
- env
- placeOrderIndividualItems
- useLoyalty
- originType
- checkIns
- authBasicToken
- companyCode
- sendEmail
- menuId
- loyalty
- intent
properties:
destination:
type: integer
paymentMethodType:
type: string
example: "8"
endpoint:
type: string
env:
type: string
example: "dev"
placeOrderIndividualItems:
type: boolean
useLoyalty:
type: boolean
originType:
type: integer
checkIns:
type: array
items:
type: object
required:
- destination
- orderType
- originType
- intent
properties:
destination:
type: string
example: "1"
orderType:
type: string
example: "DINE_IN"
originType:
type: string
example: "2"
intent:
type: integer
authBasicToken:
type: string
minLength: 40
companyCode:
type: string
minLength: 7
sendEmail:
type: boolean
menuId:
type: integer
loyalty:
type: object
required:
- applicationId
- baseUrl
- authBasicToken
- companyCode
properties:
applicationId:
type: string
baseUrl:
type: string
authBasicToken:
type: string
companyCode:
type: string
intent:
type: integer
mycentral:
type: object
required:
- applicationId
- receiveMarketingEmail
- orderNumberSource
- phone
- deliveryOptionsRequiringBeacon
- kioskId
- endpoint
- cultureCode
properties:
applicationId:
type: string
receiveMarketingEmail:
type: boolean
orderNumberSource:
type: string
example: "CREDIT_CARD_LAST_2_DIGITS"
kioskId:
type: string
endpoint:
type: string
cultureCode:
type: string
example: "en-AU"
payment:
type: object
required:
- verifone
- noon
- fab
- adyen
- provider
properties:
verifone:
type: object
required:
- port
- pinpadIp
properties:
port:
type: integer
pinpadIp:
type: string
example: "0.0.0.0"
noon:
type: object
required:
- channel
- currency
- testToken
- tokenize
- locale
- name
- test
- category
- liveToken
properties:
channel:
type: string
example: "web"
currency:
type: string
example: "AED"
testToken:
type: string
tokenize:
type: boolean
locale:
type: string
example: "en"
name:
type: string
test:
type: boolean
category:
type: string
example: "pay"
liveToken:
type: string
fab:
type: object
required:
- ecrNumber
- terminalId
- pid
- comPort
- vid
properties:
ecrNumber:
type: string
example: "001"
terminalId:
type: string
pid:
type: string
example: "1234"
comPort:
type: string
example: "COMX"
vid:
type: string
example: "123"
adyen:
type: object
required:
- env
- isLocal
- manufacturer
- keyVersion
- apiKey
- keyIdentifier
- test
- poiId
- kioskName
- passphrase
- application
- currency
- referenceType
- saleId
- pinpadIp
properties:
env:
type: string
example: "test"
isLocal:
type: boolean
manufacturer:
type: string
keyVersion:
type: integer
apiKey:
type: string
keyIdentifier:
type: string
test:
type: boolean
poiId:
type: string
kioskName:
type: string
passphrase:
type: string
application:
type: string
currency:
type: string
example: "AUD"
referenceType:
type: string
saleId:
type: string
pinpadIp:
type: string
example: "0.0.0.0"
provider:
type: string
example: "adyen"
diagnostics:
type: object
required:
- health
properties:
health:
type: string
mocks:
type: object
required:
- payment
- paymentChromeShell
- refund
- kitchenHealthCheck
- printer
- order
- voucher
properties:
payment:
type: boolean
paymentChromeShell:
type: boolean
refund:
type: boolean
kitchenHealthCheck:
type: boolean
printer:
type: boolean
order:
type: boolean
voucher:
type: boolean
properties:
type: object
required:
- deviceId
- storeId
- organisation
properties:
deviceId:
type: string
minLength: 20
storeId:
type: string
minLength: 20
organisation:
type: string
minLength: 20
modes:
type: object
required:
- touchless
- beacon
- sms
- miniCart
- coupon
- dineIn
- survey
properties:
touchless:
type: boolean
beacon:
type: boolean
sms:
type: boolean
miniCart:
type: boolean
coupon:
type: boolean
dineIn:
type: boolean
survey:
type: boolean
paymentMethods:
type: object
required:
- mastercard
- majorCards
- cashAndCredit
- paywave
- apple
- visa
- google
- amex
properties:
mastercard:
type: boolean
majorCards:
type: boolean
cashAndCredit:
type: boolean
paywave:
type: boolean
apple:
type: boolean
visa:
type: boolean
google:
type: boolean
amex:
type: boolean
paymentMethodOptions:
type: object
required:
- cash
- google
- manualCard
- manualCash
- card
- giftCard
- apple
properties:
cash:
type: boolean
google:
type: boolean
manualCard:
type: boolean
manualCash:
type: boolean
card:
type: boolean
giftCard:
type: boolean
apple:
type: boolean
receipt:
type: object
required:
- messages
- printer
- type
- showInitials
- paymentVatNumber
- email
- sms
properties:
messages:
type: array
items:
type: object
required:
- multipleOffers
- productId
- url
- message
properties:
multipleOffers:
type: string
productId:
type: string
url:
type: string
message:
type: string
printer:
required:
- port
- ip
properties:
port:
type: string
ip:
type: string
example: "0.0.0.0"
type:
type: string
example: "sms"
showInitials:
type: boolean
paymentVatNumber:
type: string
email:
type: object
required:
- smtp
- sendgrid
- type
properties:
smtp:
type: object
required:
- user
- port
- host
- pass
properties:
user:
type: object
port:
type: object
host:
type: object
pass:
type: object
sendgrid:
type: object
required:
- api
properties:
api:
type: string
type:
type: string
sms:
type: object
required:
- type
- routemobile
- other
properties:
type:
type: string
routemobile:
type: object
required:
- username
- endpoint
- source
- password
properties:
username:
type: string
endpoint:
type: string
source:
type: string
password:
type: string
other:
type: object
required:
- endpoint
properties:
endpoint:
type: string
content:
type: object
required:
- healthCheckToken
- addresses
- homeBurger
- upsellPopup
- comboUpsize
- devTools
- healthCheckId
- healthMsg
properties:
healthCheckToken:
type: string
addresses:
type: array
items:
type: string
homeBurger:
type: boolean
upsellPopup:
type: boolean
comboUpsize:
type: boolean
devTools:
type: boolean
healthCheckId:
type: string
healthMsg:
type: boolean
interval:
type: object
required:
- restart
- receipt
- timeout
- pinpad
- log
- refresh
properties:
restart:
type: object
required:
- times
properties:
times:
type: array
items:
type: string
receipt:
type: object
required:
- redirect
properties:
redirect:
type: integer
timeout:
type: object
required:
- warning
- receipt
- order
- session
- success
properties:
warning:
type: integer
receipt:
type: integer
order:
type: integer
session:
type: integer
success:
type: integer
pinpad:
type: object
required:
- refund
- payment
properties:
refund:
type: integer
payment:
type: integer
log:
type: object
required:
- delete
properties:
delete:
type: integer
refresh:
type: object
required:
- menu
- settings
properties:
menu:
type: integer
settings:
type: integer
languages:
type: object
required:
- uae
- available
- default
properties:
uae:
type: boolean
default:
type: string
available:
type: array
items:
type: object
required:
- key
- direction
- name
- translations
properties:
key:
type: string
direction:
type: string
example: "ltr"
name:
type: string
example: "United Kingdom"
translations:
type: object
required:
- menuSettingsError
- doYouReallyWantTo
- kioskLocked
- categoryNotFound
- orderStartProcessInstruction
- orderFinishProcessMessage
- emailCaseInsensitive
- serialKeyNotFound
- restart
- receiptInstructions
- couponCode
- refundErrorMessage
- waitingSettings
- addToOrder
- addMore
- orderProcessCardErrorMessage
- useKioskReboot
- menuFound
- orderFinishProcessInstruction
- continue
- small
- refundSuccess
- lockKiosk
- settingsSerialKeyError
- settingsFound
- waitingMenu
- orderHere
- adminActions
- menuTryAgainOnError
- smsReceiptMessage2
- productNotFound
- comingSoon
- orderHealthCheckErrorMessage
- manualRefundInstructions
- takeaway
- menu
- upsellModalTitle
- timeoutPopupMessageSecondLine
- orderHealthCheckTitle
- kioskOverview
- firstName
- receiptTitleLoading
- seeReceipt
- test
- adminRefresh
- continueOrder
- smsMessageReceipt
- customiseCategoryMessagePlural
- advancedPanel
- orderProcessTryAgainOnError
- order
- applePay
- change
- receiptOrderType
- cart
- timeoutPopupMessageFirstLine
- paymentPending
- notFoundSubTitle
- siteNumber
- extra
- paymentErrorMessage
- tableService
- receiptClaimInstructions
- eatIn
- orderHealthCheckTryAgainOnError
- customiseCategoryMessage
- healthTagTitle
- selectPaymentMethod
- taxInvoice
- orderTotal
- console
- address
- manualRefundTitle
- cancelPaymentInstructions
- productUnavailableModalLine2
- notFoundTitle
- orderIdMessage
- productUnavailableModalLine1
- paymentTryAgainOnError
- orderFinishProcessTitle
- items
- productUnavailableInCartMessage
- adminKAS
- back
- pleaseWait
- lockscreen
- refundTryAgainOnError
- paymentTypesAccepted
- beaconTitle
- receiptSubTotalVatTotal
- receiptTitle
- returnToCategories
- smsReceiptMessage4
- customiseCategoryAddedPrice
- inYourMeal
- paymentWaitingActionOnPinPad
- errorPlacingOrder
- lockScreen
- checkKioskConsole
- completeOrder
- menuNotFound
- changeSelection
- waitForReceipt
- adminReboot
- sendReceipt
- fancyLittleMore
- allergensNutritionInfo
- orderProcessCashErrorMessage
- remove
- keepBrowsing
- receiptClaimInstructionsCash
- orderStartProcessMessageCash
- chooseYourLanguage
- adminLockScreen
- exit
- no
- cartEmpty
- cancelOrder
- adminView
- smsReceiptMessage3
- orderProcessErrorMessage
- orderStartProcessMessage
- wouldLikeReceipt
- adminSendSettlementRequest
- smsReceiptMessage1
- adminSoftLockScreen
- giftCard
- receiptTotalWithOrderType
- serialEntry
- thankYou
- actions
- addAdditionalItem
- viewOrder
- transactions
- receiptPopupMessage
- gstNumber
- orderPickupInstruction
- next
- settingsNotFound
- posFailure
- clear
- orderHealthCheckInstruction
- paperFree
- majorCards
- yes
- orderHealthCheckMessage
- smsMessageOrder
- orderCancelProcessInstruction
- emailAddress
- healthTagText
- vatNumber
- softLockScreen
- adminPanel
- proceedToPayment
- card
- serialKeyTryAgainOnError
- timeoutPopupButton
- enterOffer
- orderProviderError
- done
- addMoreToYourOrder
- enterDetails
- confirm
- selectMealSize
- receiptSubTotalVatExclusive
- phoneNumberInvalid
- total
- yourOrder
- receiptSentSuccess
- restartingApplication
- updateOrder
- orderPickupInstructionBeacon
- countryCodeInvalid
- kitchenErrorMessage
- large
- cash
- adminMenu
- seeTransactionReceipt
- whenReady
- couponTryAgainOnError
- receiptError
- contains
- regular
- waitingSerialKey
- orderPickupInstructionCash
- add
- sendSettlementRequest
- advanced
- googlePay
- cancel
- useComingSoon
- generatingReceipt
- loadingDataFromCache
- customise
- profaneString
- adminExit
- serialKeyFound
- refundWaitingActionOnPinPad
- kitchenTryAgainOnError
- addToCart
- cancelYourOrder
- receiptPopupClose
- hungry
- removedCustomisedProduct
- refundProcessMessage
- adminConsole
- settingsTryAgainOnError
- kas
- orderCancelProcessTitle
- adminTransactions
- settings
- lastInitial
- yourOrderNumber
- receiveEmailAddress
- checkingKitchenMessage
- orderInitialsMessage
- emailInvalid
properties:
menuSettingsError:
type: string
doYouReallyWantTo:
type: string
kioskLocked:
type: string
categoryNotFound:
type: string
orderStartProcessInstruction:
type: string
orderFinishProcessMessage:
type: string
emailCaseInsensitive:
type: string
serialKeyNotFound:
type: string
restart:
type: string
receiptInstructions:
type: string
couponCode:
type: string
refundErrorMessage:
type: string
waitingSettings:
type: string
addToOrder:
type: string
addMore:
type: string
orderProcessCardErrorMessage:
type: string
useKioskReboot:
type: string
menuFound:
type: string
orderFinishProcessInstruction:
type: string
continue:
type: string
small:
type: string
refundSuccess:
type: string
lockKiosk:
type: string
settingsSerialKeyError:
type: string
settingsFound:
type: string
waitingMenu:
type: string
orderHere:
type: string
adminActions:
type: string
menuTryAgainOnError:
type: string
smsReceiptMessage2:
type: string
productNotFound:
type: string
comingSoon:
type: string
orderHealthCheckErrorMessage:
type: string
manualRefundInstructions:
type: string
takeaway:
type: string
menu:
type: string
upsellModalTitle:
type: string
timeoutPopupMessageSecondLine:
type: string
orderHealthCheckTitle:
type: string
kioskOverview:
type: string
firstName:
type: string
receiptTitleLoading:
type: string
seeReceipt:
type: string
test:
type: string
adminRefresh:
type: string
continueOrder:
type: string
smsMessageReceipt:
type: string
customiseCategoryMessagePlural:
type: string
advancedPanel:
type: string
orderProcessTryAgainOnError:
type: string
order:
type: string
applePay:
type: string
change:
type: string
receiptOrderType:
type: string
cart:
type: string
timeoutPopupMessageFirstLine:
type: string
paymentPending:
type: string
notFoundSubTitle:
type: string
siteNumber:
type: string
extra:
type: string
paymentErrorMessage:
type: string
tableService:
type: string
receiptClaimInstructions:
type: string
eatIn:
type: string
orderHealthCheckTryAgainOnError:
type: string
customiseCategoryMessage:
type: string
healthTagTitle:
type: string
selectPaymentMethod:
type: string
taxInvoice:
type: string
orderTotal:
type: string
console:
type: string
address:
type: string
manualRefundTitle:
type: string
cancelPaymentInstructions:
type: string
productUnavailableModalLine2:
type: string
notFoundTitle:
type: string
orderIdMessage:
type: string
productUnavailableModalLine1:
type: string
paymentTryAgainOnError:
type: string
orderFinishProcessTitle:
type: string
items:
type: string
productUnavailableInCartMessage:
type: string
adminKAS:
type: string
back:
type: string
pleaseWait:
type: string
lockscreen:
type: string
refundTryAgainOnError:
type: string
paymentTypesAccepted:
type: string
beaconTitle:
type: string
receiptSubTotalVatTotal:
type: string
receiptTitle:
type: string
returnToCategories:
type: string
smsReceiptMessage4:
type: string
customiseCategoryAddedPrice:
type: string
inYourMeal:
type: string
paymentWaitingActionOnPinPad:
type: string
errorPlacingOrder:
type: string
lockScreen:
type: string
checkKioskConsole:
type: string
completeOrder:
type: string
menuNotFound:
type: string
changeSelection:
type: string
waitForReceipt:
type: string
adminReboot:
type: string
sendReceipt:
type: string
fancyLittleMore:
type: string
allergensNutritionInfo:
type: string
orderProcessCashErrorMessage:
type: string
remove:
type: string
keepBrowsing:
type: string
receiptClaimInstructionsCash:
type: string
orderStartProcessMessageCash:
type: string
chooseYourLanguage:
type: string
adminLockScreen:
type: string
exit:
type: string
no:
type: string
cartEmpty:
type: string
cancelOrder:
type: string
adminView:
type: string
smsReceiptMessage3:
type: string
orderProcessErrorMessage:
type: string
orderStartProcessMessage:
type: string
wouldLikeReceipt:
type: string
adminSendSettlementRequest:
type: string
smsReceiptMessage1:
type: string
adminSoftLockScreen:
type: string
giftCard:
type: string
receiptTotalWithOrderType:
type: string
serialEntry:
type: string
thankYou:
type: string
actions:
type: string
addAdditionalItem:
type: string
viewOrder:
type: string
transactions:
type: string
receiptPopupMessage:
type: string
gstNumber:
type: string
orderPickupInstruction:
type: string
next:
type: string
settingsNotFound:
type: string
posFailure:
type: string
clear:
type: string
orderHealthCheckInstruction:
type: string
paperFree:
type: string
majorCards:
type: string
yes:
type: string
orderHealthCheckMessage:
type: string
smsMessageOrder:
type: string
orderCancelProcessInstruction:
type: string
emailAddress:
type: string
healthTagText:
type: string
vatNumber:
type: string
softLockScreen:
type: string
adminPanel:
type: string
proceedToPayment:
type: string
card:
type: string
serialKeyTryAgainOnError:
type: string
timeoutPopupButton:
type: string
enterOffer:
type: string
orderProviderError:
type: string
done:
type: string
addMoreToYourOrder:
type: string
enterDetails:
type: string
confirm:
type: string
selectMealSize:
type: string
receiptSubTotalVatExclusive:
type: string
phoneNumberInvalid:
type: string
total:
type: string
yourOrder:
type: string
receiptSentSuccess:
type: string
restartingApplication:
type: string
updateOrder:
type: string
orderPickupInstructionBeacon:
type: string
countryCodeInvalid:
type: string
kitchenErrorMessage:
type: string
large:
type: string
cash:
type: string
adminMenu:
type: string
seeTransactionReceipt:
type: string
whenReady:
type: string
couponTryAgainOnError:
type: string
receiptError:
type: string
contains:
type: string
regular:
type: string
waitingSerialKey:
type: string
orderPickupInstructionCash:
type: string
add:
type: string
sendSettlementRequest:
type: string
advanced:
type: string
googlePay:
type: string
cancel:
type: string
useComingSoon:
type: string
generatingReceipt:
type: string
loadingDataFromCache:
type: string
customise:
type: string
profaneString:
type: string
adminExit:
type: string
serialKeyFound:
type: string
refundWaitingActionOnPinPad:
type: string
kitchenTryAgainOnError:
type: string
addToCart:
type: string
cancelYourOrder:
type: string
receiptPopupClose:
type: string
hungry:
type: string
removedCustomisedProduct:
type: string
refundProcessMessage:
type: string
adminConsole:
type: string
settingsTryAgainOnError:
type: string
kas:
type: string
orderCancelProcessTitle:
type: string
adminTransactions:
type: string
settings:
type: string
lastInitial:
type: string
yourOrderNumber:
type: string
receiveEmailAddress:
type: string
checkingKitchenMessage:
type: string
orderInitialsMessage:
type: string
emailInvalid:
type: string
datasource:
type: object
required:
- storeId
- provider
- customer
properties:
storeId:
type: string
example: "8888"
provider:
type: string
example: "aloha"
customer:
type: string
example: "yum-au-kfc"
site:
type: object
required:
- name
- storeId
- isKioskClosed
- workingHours
- address
properties:
name:
type: string
example: "KFC Digital Lab"
storeId:
type: string
example: "8888"
isKioskClosed:
type: boolean
workingHours:
type: array
items:
type: object
required:
- weekday
- to
- from
properties:
weekday:
type: string
example: sun
from:
$ref: "./time.yaml"
to:
$ref: "./time.yaml"
address:
type: object
required:
- addressLine1
- addressLine2
- state
- phone
- postal
- city
properties:
addresLine1:
type: string
addressLine2:
type: string
state:
type: string
phone:
type: string
postal:
type: string
city:
type: string
count:
type: object
required:
- timestamp
- numberOfMeals
- numberOfProducts
- numberOfCoupons
- numberOfUpsells
- numberOfCategories
- numberOfProductsPage
properties:
timestamp:
type: object
properties:
_seconds:
type: integer
_nanoseconds:
type: integer
description: Google's timestamp object
numberOfMeals:
type: integer
example: 2
numberOfProducts:
type: integer
example: 461
numberOfCoupons:
type: integer
example: 5
numberOfUpsells:
type: integer
example: 5
numberOfCategories:
type: integer
example: 15
numberOfProductsPage:
type: integer
example: 10