Integration Specifications

This article will help you learn about how Daasity replicates data from Lightspeed, limitations to the data we can extract and where the data is stored in the Lightspeed schema

Integration Overview

Lightspeed is a cloud-based point-of-sale and e-commerce platform for retail, hospitality and golf merchants around the world to simplify, sale and provide customer experiences.

This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.

Integration Availability

This integration is available for:

  • Enterprise

API Endpoints

The Daasity Lightspeed extractor is built based on this Lightspeed API documentation. The following endpoints are used by Daasity to replicate data from Lightspeed:

Entity Relationship Diagram (ERD)

Click here to view the ERD for the Daasity Lightspeed integration illustrating the different tables and keys to join across tables

Lightspeed Schema

The Daasity Lightspeed extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

Accounts

  • Endpoint: Account

  • Update Method: UPSERT

  • Table Name: [lightspeed.accounts]

JSON ElementDatabase Column

account_id

account_id

Account::name

name

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(account_id + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Customers

  • Endpoint: Customer

  • Update Method: UPSERT

  • Table Name: [lightspeed.customers]

JSON ElementDatabase Column

customerID

customer_id

firstName

first_name

lastName

last_name

Contact::Addresses:ContactAddress::address1

address_1

Contact::Addresses:ContactAddress::address2

address_2

Contact::Addresses:ContactAddress::zip

zip

Contact::Addresses:ContactAddress::city

city

Contact::Addresses:ContactAddress::state

state

Contact::Addresses:ContactAddress::country

country

Contact::Phones

phone_number

Contact::Emails

email

archived

archived

createTime

created_at

timeStamp

updated_at

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(customerId + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Employees

  • Endpoint: Employee

  • Update Method: UPSERT

  • Table Name: [lightspeed.employees]

JSON ElementDatabase Column

employeeID

employee_id

firstName

first_name

lastName

last_name

lastShopID

last_shop_id

employeeRoleID

employee_role_id

timeStamp

updated_at

archived

archived

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(employeeID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Sales

  • Endpoint: Sale

  • Update Method: UPSERT

  • Table Name: [lightspeed.sales]

JSON ElementDatabase Column

saleID

sale_id

discountPercent

discount_percent

completed

completed

voided

voided

tax1Rate

tax1_rate

tax2Rate

tax2_rate

receiptPreference

receipt_preference

ticketNumber

ticket_number

calcDiscount

calc_discount

calcTotal

calc_total

calc_subtotal

calc_subtotal

calcTaxable

calc_taxable

calcNonTaxable

calc_nontaxable

calcAvgCost

calc_avg_cost

calcFIFOCost

calc_fifo_cost

calcTax1

calc_tax1

calcTax2

calc_tax2

calcPayments

calc_payments

total

total

totalDue

total_due

createTime

created_at

updateTime

updated_at

archived

archived

customerID

customer_id

employeeID

employee_id

shopID

shop_id

discountID

discount_id

referenceNumber

reference_number

referenceNumberSource

reference_number_source

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(shopId + saleID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Sale Payments

  • Endpoint: Sale Payment

  • Update Method: UPSERT

  • Table Name: [lightspeed.sale_payments]

JSON ElementDatabase Column

salePaymentID

sale_payment_id

amount

amount

saleID

sale_id

paymentTypeID

payment_type_id

ccChargeID

cc_charge_id

refPaymentID

ref_payment_id

employeeID

employee_id

creditAccountID

credit_account_id

registerID

register_id

archived

archived

createTime

created_at

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(salePaymentID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Order Discounts

  • Endpoint: Discount

  • Update Method: UPSERT

  • Table Name: [lightspeed.order_discounts]

JSON ElementDatabase Column

discountID

discount_id

name

name

discountAmount

discount_amount

discountPercent

discount_percent

timeStamp

updated_at

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(discountID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Sale Lines

  • Endpoint: Sale Lines

  • Update Method: UPSERT

  • Table Name: [lightspeed.salelines]

JSON ElementDatabase Column

saleLineID

sale_line_id

unitQuantity

unit_quantity

unitPrice

unit_price

discountAmount

discount_amount

discountPercent

discount_percent

tax

tax

tax1Rate

tax1_rate

tax2Rate

tax2_rate

calcLineDiscount

calc_line_discount

calcTransactionDiscount

calc_transaction_discount

calcTotal

calc_total

calcSubtotal

calc_subtotal

calcTax1

calc_tax1

calcTax2

calc_tax2

taxClassID

tax_class_id

discountID

discount_id

employeeID

employee_id

customerID

customer_id

shopID

shop_id

itemID

item_id

saleID

sale_id

createTime

created_at

timeStamp

updated_at

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(saleLineID + shopID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Items

  • Endpoint: Item

  • Update Method: UPSERT

  • Table Name: [lightspeed.items]

JSON ElementDatabase Column

itemID

item_id

systemSku

system_sku

defaultCost

default_cost

avgCost

avg_cost

discountable

discountable

tax

tax

archived

archived

itemType

item_type

description

description

modelYear

model_year

upc

upc

ean

ean

createTime

created_at

timeStamp

updated_at

categoryID

category_id

taxClassID

taxclass_id

departmentID

department_id

itemMatrixID

item_matrix_id

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(itemID + shopID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Item Prices

  • Endpoint: Item

  • Update Method: UPSERT

  • Table Name: [lightspeed.item_prices]

JSON ElementDatabase Column

itemID

item_id

amount

amount

useTypeID

use_type_id

useType

use_type

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(itemMatrixId + useTypeId + useType)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Items Matrix

  • Endpoint: Item Matrix

  • Update Method: UPSERT

  • Table Name: [lightspeed.items_matrix]

JSON ElementDatabase Column

itemMatrixID

item_matrix_id

tax

tax

description

description

itemType

item_type

timeStamp

created_at

archived

archived

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(itemMatrixId + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Item Matrix Prices

  • Endpoint: Item Matrix

  • Update Method: UPSERT

  • Table Name: [lightspeed.item_matrix_prices]

JSON ElementDatabase Column

Item::Prices::ItemPrice::ItemMatrixID

item_matrix_id

ItemPrice::amount

amount

ItemPrice::useType

use_type

ItemPrice::useTypeID

use_type_id

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(ItemPrice::itemMatrixId + ItemPrice::useType + ItemPrice::useTypeID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Inventory

JSON ElementDatabase Column

itemShopID

item_shop_id

sellable

sellable

backorder

backorder

qoh

quantity_on_hand

itemID

item_id

shopID

shop_id

timeStamp

created_at

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(shopID + itemID + itemShopID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Locations

  • Endpoint: Shop

  • Update Method: UPSERT

  • Table Name: [lightspeed.locations]

JSON ElementDatabase Column

name

name

timeZone

time_zone

shopID

shop_id

contactId

contact_id

timeStamp

created_at

Daasity: shop_id

__shop_id

Daasity: account_id

_account_id

Daasity: MD5(shopID + __shop_id)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Last updated