Solink tags video to restaurant transactions based on a unique place and time pairing. Time is absolute and must adhere to the convention defined here.
Metadata Fields (required)
dataType: String. Must be set to "restaurant" to specify which data type the current event is (ie. "retail", "restaurant", etc).
schemaVersion: String. Must be set to "1" to specify which version of the schema is being used for this event (ie. "1", "2", etc).
startTime: Number | String
. Start time of the transaction in either Unix time format milliseconds or ISO-8601 compliant format.
endTime: Number | String
. End time of the transaction in either Unix time format milliseconds or ISO-8601 compliant format.
storeId: String
. Unique store identifier within the customer's set of stores(locations).
registerId: String
. Unique id of the POS or register generating the transaction.
transactionId: String
. Unique id which identifies the transaction in the originating POS software.
status: String
. Describes the type of transaction. One of "SALE" or "VOID".
tableNumber: String
. Identifies the table at which the order was taken.
guestCount: Number
. States the number of guests served by this transaction.
items: Array
(ItemDetails). The list of items, actions or events processed in the transaction.
Metadata Fields (optional)
employeeId: String
. Unique employee id to identify the employee processing the transaction.
employeeName: String
. The name of the employee processing the transaction.
customerId: String
. The unique id to identify the customer being served.
ItemDetails Fields (required)
time: Number | String
. Start time of the transaction in either Unix time format milliseconds or ISO-8601 compliant format.
quantity: Number
. Quantity of the item.
description: String
. Description of the item.
unitPrice: Number
. Per unit price of the item.
type: String
. May be one of the following allowed values:
"SALE": Item sold at list price.
"MODIFIER": Item modified with/without corresponding price modifications.
"SALE_OVERRIDE": Item sale price was overridden by the employee. Final override price is recorded in unitPrice
"OVERRIDE_MODIFIER": Override item modified with/without corresponding price modifications
"DISCOUNT": A discount was applied to the transaction.
"DISCOUNT_MODIFIER": The discount was modified with/without corresponding price modifications.
"RETURN": Item was returned.
"RETURN_MODIFIER": Returned item modified with/without corresponding price modifications.
"RETURN_DISCOUNT": Returned item discount.
"RETURN_DISCOUNT_MODIFIER": Returned item discount modifier.
"PAYMENT": Payment applied to the transaction
"REFUND": Refund payment previously applied to the transaction
"CHANGE_DUE": Change due to the customer for a cash payment tendered > transaction total
"TAX": Tax to be applied to the transaction
"REFUND_TAX ": Refund tax previously applied to the transaction
"OTHER_CHARGES": Other charges associated with the transaction
"REFUND_OTHER_CHARGES": Refund other charges previously applied to the transaction
"GRATUITY": Gratuity offered by the customer
"VOID": Item entry voided.
"VOID_MODIFIER": Item modifier entry voided/cancelled.
"VOID_DISCOUNT": Item discount entry voided/cancelled.
"VOID_RETURN": Item returned entry voided/cancelled.
'VOID_PAYMENT": Payment entry voided/cancelled.
"VOID_CHANGE_DUE": Change due entry voided/cancelled.
"VOID_REFUND": Refund payment voided/cancelled.
ItemDetails Fields (optional)
cardNumberLast4: String
. For credit/debit/gift card payment/refund/void. Last four digits of the card number.
sku: String
. SKU or other unique item identifier.
JSON Example
{
"dataType": "restaurant", // determines which object format is being used. future will support restaurant, accessControl
"schemaVersion": "1", // specify the schema version for this event, should be "1" for the current object format
"startTime": 1557943653649, // start time in unix time format (milliseconds since jan 1 1970). also supports ISO time format (2023-10-21T14:00:12-0400)
"endTime": 1557943678649, // end time in unix time format (milliseconds since jan 1 1970). also supports ISO time format (2023-10-21T14:00:12-0400)
"storeId": "123", // ID of the store for this data, needs to be configured on the associated Solink system
"registerId": "1", // ID of the register for this data, needs to be configured on the associated Solink system (for camera associations)
"transactionId": "93688", // ID of the transaction
"employeeId": "27", // ID of the employee doing the transaction
"employeeName": "MICHELLE", // optional, name of the Employee doing the transaction
"status": "SALE", // Type of transaction. Supported options are SALE and VOID
"customerId": "", // optional, ID of the customer making the transaction
"tableNumber": "12", // identifier for the specific table associated with this transaction
"guestCount": 1, // number of guests at the table
"items": [ // list of items included in the transaction (sale items, returns, voids, taxes, payments, etc)
{
"type": "sale", // type of item. supported options are sale, return, void, tax, payment and change due
"quantity": 1.0, // quantity of the current item, defaults to 1 if not specified
"description": "Burger", // description of the item
"unitPrice": 22.00, // unit price of this item
"time": 1555898203000 // optional, used to specify item time, otherwise will default to start time
},
{
"type": "modifier",
"quantity": 1.0,
"description": "No onions",
"unitPrice": 0,
"time": 1555898203000
},
{
"type": "tax",
"quantity": 1.0,
"description": "PST",
"unitPrice": 2.00,
"time": 1557943678649
},
{
"type": "gratuity", // use for gratuities
"quantity": 1.0,
"description": "Tip",
"unitPrice": 5.00,
"time": 1557943678649
},
{
"type": "payment",
"quantity": 1.0,
"description": "Credit", // Credit
"unitPrice": 20.00,
"cardNumberLast4": "1234", // optional, last 4 of card number for card payments
"time": 1557943678649
},
{
"type": "payment", // can have multiple payment objects
"quantity": 1.0,
"description": "Cash",
"unitPrice": 10.00,
"time": 1557943678649
},
{
"type": "change due", // change due object for cash payments
"quantity": 1.0,
"description": "Change",
"unitPrice": 1.00,
"time": 1557943678649
}
]
}