Auto Service Transaction Schema

Documentation for the Auto Service Transaction Schema, detailing required and optional fields.

Solink tags video to Auto Service transactions based on a unique place and time pairing. Time is absolute and must adhere to the convention defined here.

Required Object Fields

FieldTypeDescription
dataSourceIdStringA unique identifier representing the source of the transaction data, typically a point-of-sale (POS) register, kiosk, or fuel pump within the retail environment. This ID helps differentiate where each transaction originated within the store.
dataTypeStringMust be set to "auto-service" to specify which data type the current event is.
endTimeStringEnd time of the transaction in either Unix time format milliseconds or ISO-8601 compliant format.
itemsArrayThe list of items, actions or events processed in the transaction.
schemaVersionStringMust be set to "1" to specify which version of the schema is being used for this event (e.g. "1", "2", etc).
siteExternalIdStringUnique location identifier within the customer's set of locations.
startTimeStringStart time of the transaction in either Unix time format milliseconds or ISO-8601 compliant format.
statusStringDescribes the type of transaction. For example: "SALE" or "VOID".
Supported Enum values: 'sale', 'void', 'refund', 'return', 'discount', 'exchange', 'cancel', 'no sale', 'post void', 'other', 'rebate'.
transactionIdString

Unique ID which identifies the transaction in the originating POS software.

If transaction numbers can repeat or roll over, it’s recommended to append a date/time suffix (e.g., YYYYMMDDHH) to ensure uniqueness over time.

WARNING: Transactions sharing the same transactionId will be upserted, meaning the latest data will overwrite the previous record.

Optional Object Fields

FieldTypeDescription
bayStringBay unique identifier to identify the bay at which the car is being served.
customerIdStringThe unique id to identify the customer being served.
customerTypeStringType of customer (e.g., individual, fleet, commercial)
employeeIdStringUnique employee id to identify the employee processing the transaction.
employeeNameStringThe name of the employee processing the transaction.
fleetAccountNumberStringFleet account number for fleet customers
licensePlateStringVehicle license plate number
notesStringAdditional notes or comments about the event.
vehicleMakeStringMake of the vehicle being serviced
vehicleMileageStringCurrent mileage of the vehicle
vehicleModelStringModel of the vehicle being serviced
vehicleYearStringYear of the vehicle being serviced
workOrderCompletedTimeStringWhen work on the vehicle was completed
workOrderCreatedTimeStringWhen the work order was created
workOrderFinalizedTimeStringWhen the work order was finalized
workOrderNumberStringWork order or service order number
workOrderStartedTimeStringWhen work on the vehicle started

Required Item Object Fields

FieldTypeDescription
descriptionStringDescription of the item.
quantityNumberQuantity of the item.
timeStringStart time of the transaction in either Unix time format milliseconds or ISO-8601 compliant format.
typeStringMay 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
"DISCOUNT_ITEM": Discount applied to an item(item-level). Note: Differs from DISCOUNT which applies to the whole transaction.(transaction-level discount).
"RETURN_DISCOUNT_ITEM": Returned item discount. Note: Differs from RETURN_DISCOUNT which applies to a returned transaction.
"VOID_DISCOUNT_ITEM": Item discount entry voided/cancelled. Note: Differs from VOID_DISCOUNT which applies at the transaction level.
"ROUNDING_AMOUNT": Rounding amount/adjustments made.
"PREPAYMENT": Prepaid items — customer pays before receiving it.
"PREPAYMENT_ITEM": Payment made before receiving the items.
"REBATE": Rebate item
"RETURN_REBATE": Returned rebate item
"VOID_REBATE": Rebate entry voided/canceled.
unitPriceNumberPer unit price of the item.

Optional Item Object Fields

FieldTypeDescription
cardNumberLast4StringFor credit/debit/gift card payment/refund/void. Last four digits of the card number.
categoryStringUsed to track Item Category
skuStringSKU or other unique item identifier.

JSON Example

{
  "dataType": "auto-service",
  "schemaVersion": "1",
  "startTime": "2024-01-15T09:30:00Z",
  "endTime": "2024-01-15T11:45:00Z",
  "dataSourceId": "pos-001",
  "siteExternalId": "location-123",
  "transactionId": "txn-456789",
  "employeeId": "emp-001",
  "employeeName": "John Smith",
  "status": "sale",
  "customerId": "cust-789",

  "licensePlate": "ABC123",
  "vehicleYear": "2020",
  "vehicleMake": "Toyota",
  "vehicleModel": "Camry",
  "vehicleMileage": "45000",
  "workOrderNumber": "WO-2024-001",
  "workOrderStartedTime": "2024-01-15T09:30:00Z",
  "workOrderCompletedTime": "2024-01-15T11:30:00Z",
  "workOrderCreatedTime": "2024-01-15T09:00:00Z",
  "workOrderFinalizedTime": "2024-01-15T11:45:00Z",
  "customerType": "individual",

  "items": [
    {
      "type": "SALE",
      "quantity": 1,
      "description": "Oil Change Service",
      "unitPrice": 29.99,
      "time": "2024-01-15T09:30:00Z",
      "sku": "OIL-CHANGE-001",
      "category": "Maintenance"
    },
    {
      "type": "SALE",
      "quantity": 1,
      "description": "Air Filter Replacement",
      "unitPrice": 15.99,
      "time": "2024-01-15T10:15:00Z",
      "sku": "AIR-FILTER-001",
      "category": "Parts"
    },
    {
      "type": "TAX",
      "description": "Sales Tax",
      "unitPrice": 3.68,
      "time": "2024-01-15T11:30:00Z"
    },
    {
      "type": "PAYMENT",
      "description": "Credit Card",
      "unitPrice": 49.66,
      "cardNumberLast4": "1234",
      "time": "2024-01-15T11:45:00Z"
    }
  ]
}