Skip to content

Models & Definitions

Machine Definition

Attribute Type Description
id int Machine ID. Read only.
assetId int Link to Asset.
organizationId int Link to Owner Organization. Must be greater than zero. Read only.
siteId int Link to Site (change this to move the machine). Must be greater than zero.
typeId int Link to MachineType. Must be greater than zero.
machineMasterId int Describes relationship to primary machine. Must be greater than zero. Read only.
controllerFirmware FirmwareVersion Describes the current firmware version of the controller board as well as the version of the pending update (if any).
pcFirmware FirmwareVersion Describes the current firmware version of the PC as well as the version of the pending update (if any).
forceUpdate bool Indicates if machine should download settings on next check in instead of it's normal update window.
prose string The machine's PROSE. Must be 15 or fewer characters in length. Read only.
name string Location the physical machine is at, commonly used as a name field. Must be 120 or fewer characters in length.
modelNumber string Model Number of the machine -used for mapping of selections. Must be 50 or fewer characters in length.
taxPercentage float Tax percentage, only applied if UseMachineTaxRate is true. Must not be negative.
commissionPercentage float Commission percentage, only applied if UseMachineCommissionRate is true. Must not be negative.
hasPlanogramChange bool Indicates if the planogram has changed and the machine needs to download those changes.
callInCode string Call in code for provisioning. Must be 12 or fewer characters in length. Read only.
enableAccountSales bool Indicates if machine should accept account sales.
enableCashSales bool Indicates if machine should accept cash sales.
enableCreditSales bool Indicates if machine should accept credit sales.
mode MachineMode Specifies the machine sales mode. See the enum definition for accepted options
isVisible bool Indicates if the machine is discoverable. Read only.
enableSlotCountTracking bool If set to false inventory will not be debited when a vend occurs and inventory will not be tracked.
useInternetPricing bool Indicates if the machine should use pricing from web-based configurations instead of the local controller. Further refined by usePlanogramPrice to indicate pricing source.
hardwareSettingsChanged bool Indicates hardware settings have changed and will be downloaded by controller when it is next online.
creditProcessingFee decimal Flat up-charge fee incurred with all credit sales (if enabled at the org level). Must not be negative.
usePlanogramPrice bool Indicates if planogram pricing should be used instead of machine pricing. Only in effect if UseInternetPricing is also true.
useMachineTaxRate bool Indicates if the machine level tax rate should be used instead of the planogram's for tax calculations. Only in effect if UseInternetPricing is true, otherwise tax rate is not calculated.
useMachineCommissionRate bool Indicates if the machine level commission rate should be used instead of the planogram's. Only in effect if UseInternetPricing is true, otherwise commission is not calculated.
externalAccountsTerminalId string The ID that external orgs can use to map the machine to a meaningful value. Must be 50 or fewer characters in length.
lastHeartBeat TimeStamp A timestamp storing the time of the most recent heartbeat reported to the server. Read only.
lastCashSale TimeStamp A timestamp storing the time of the most recent cash sale. Read only.
lastCreditSale TimeStamp A timestamp storing the time of the most recent credit sale. Read only.
lastAccountSale TimeStamp A timestamp storing the time of the most recent account sale. Read only.
latestRestockToPicklist TimeStamp A timestamp storing the time of the most recent restock. Read only.
createdAt DateTime The server time the machine was created at. Read only. Must not be in the future.
provisionedAt DateTime The server time the machine was provisioned at. Read only. Must not be in the future.
offerSmsReceipts SmsReceiptMode An enumeration of configuration options for SMS receipts for transactions. See the enum definition for accepted options.
canRollbackFirmware bool Indicates if machine should allow downgrading of firmware versions. This will be true, the machine will rollback, then it will be false again.
ignoreDoorState bool Indicates if a vend is considered completed before the door is closed.

Submodels

Here are the definitions of the sub-models used in the machine model.

TimeStamp

Name Readonly Meaning
local true The local time of the event.
server true The server time of the event.

FirmwareVersion

Name Readonly Meaning
current true The current version of firmware being run on the device.
pendingUpdate false The firmware version the machine will update to (if any). Once the update occurs the value will revert to null.

Enumerations

Here are the values and meanings of the various enumerations in the machine model.

MachineMode

Default value is purchase.

Name Setting Effect
dex Sets machine master sales calculations to DEX mode, which requires pulling DEX data to record sales in our system.
invoice Sets machine to invoiced sales mode where some or all of the cost is billed to the machine owner later.
metered Generates sales by taking difference between meter readings on pick ticket records.
purchase Realtime sales treated as master sales. Unless you have specific reason to, we recommend using this mode.
unknown Fallback option for invalid configurations in the database.

SmsReceiptMode

Default value is noReceipts.

Name Setting Effect
noReceipts SMS receipts will not be sent with any transaction type.
creditOrAccountSales An sms receipt will be sent for credit and account sales.
cashCreditOrAccountSales Cash, credit, and account sales will send SMS receipts.