Data feed tables

Tables

Each table’s columns match a type in the API reference, with nested objects sent as their ID (for example, a price’s product arrives as productId). Lists aren’t included.

“or null” is for live rows: on a deleted row, every column but the metadata is null.

cards

Your customers’ cards, saved online or tapped on a reader. A paid invoice’s cardId points at one.

The Card type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
brand string The brand of the card
expMonth integer The expiration month of the card
expYear integer The expiration year of the card
id string
last4 string The last 4 digits of the card. String to match Stripe’s format

cars

The Car type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
createdAt timestamp (UTC) Time when this car was created
id string
isMember boolean Whether the car belongs to a member or not
membershipId string or null The membership ID associated with the car
nickname string or null The nickname associated with the car
plate string The plate number of the car
rfidTag string or null The RFID tag, if there is one, on the car
state string The state of the car
updatedAt timestamp (UTC) Time when this car was last updated

customers

The RollerupCustomer type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
city string or null City
country string or null Country
createdAt timestamp (UTC) Timestamp when the customer was created
email string or null Customer’s email address
externalBillingId string or null for externally managed customers only, the id in the external system
id string Unique identifier
isExternallyManaged boolean Whether the customer is managed by an external billing system (e.g. drb). Externally-managed customers cannot be edited via the API.
name string or null Customer’s full name
phone string or null Customer’s phone number in E.164 format
state string or null State
street1 string or null Street address line 1
street2 string or null Street address line 2
updatedAt timestamp (UTC) Timestamp when the customer was last updated
zip string or null ZIP/postal code

employees

The Employee type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
carId string or null The car assigned to the employee. The car object’s ID.
createdAt timestamp (UTC) Timestamp when the employee was created
externalId string or null An id from an system external to RollerUp for reference purposes
id string Unique identifier for the employee
isActive boolean Whether or not the employee is still active in RollerUp
name string or null Name of the employee
updatedAt timestamp (UTC) Timestamp when the employee was last updated

locations

The SimpleLocation type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
city string or null City
createdAt timestamp (UTC) Timestamp when the location was created
externalId string or null External system identifier for the location
id string Unique identifier for the location
isVirtual boolean Whether this is a virtual location
name string Display name of the location
shortName string or null Short display name of the location
state string or null State or province
street string or null Street address
timezone string Location timezone
updatedAt timestamp (UTC) Timestamp when the location was last updated
zip string or null ZIP or postal code

membership_cars

The MembershipCar type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
carId string The vehicle. The car object’s ID.
createdAt timestamp (UTC) When this link was created
id string
membershipId string or null The membership this car is on
nickname string or null Optional nickname for this vehicle on the membership
removingAt timestamp (UTC) or null When the car is scheduled to be removed (null if not scheduled)

memberships

The Membership type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
active boolean Whether this membership is active
carLimit integer Maximum number of cars allowed on this membership
createdAt timestamp (UTC) Timestamp when the membership was created
id string Membership ID
isExternallyManaged boolean Whether the membership is managed by an external billing system (e.g. drb). Externally-managed memberships cannot be edited via the API.
isFleet boolean Whether this membership uses fleet-style billing / management
priceId string Price ID
subscriptionId string or null The subscription this membership belongs to

paid_invoices

The PaidInvoice type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
amountAvailableToRefund integer The amount available to refund in cents (total minus already-refunded credit notes)
billingReason string or null The billing reason for the paid invoice
cardId string or null The card used to make the payment, if any. The card object’s ID.
createdAt timestamp (UTC) The date and time the paid invoice was created
customerId string or null The customer who was sold to. The customer object’s ID.
employeeId string or null The employee who made the sale. The employee object’s ID.
id string
isRecharge boolean Whether this invoice is a recharge (subscription_cycle billing reason)
isUpdate boolean Whether this invoice is an update (subscription_update billing reason)
locationId string or null The location that the paid invoice occurred in. The location object’s ID.
paymentMethodType string: BANK_ACCOUNT, CARD, CASH, OTHER or null How the invoice was paid, or null when it isn’t known
stripeChargeId string or null The charge ID associated with the paid invoice
stripeInvoiceId string or null The Stripe invoice ID associated with the paid invoice
subscriptionId string or null The RollerUp subscription ID associated with this paid invoice
total integer The total amount of the paid invoice in cents
visitId string or null The visit that the paid invoice occurred in. The visit object’s ID.

prices

The Price type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
amount integer Price amount in cents (e.g., 1999 = $19.99)
archivedReason string: CASCADE, SYSTEM, USER or null Why this price was archived: USER (manually by a user), SYSTEM (automatically during archive-and-replace), or null if not archived
availableInPos boolean Whether this price is currently available for selection in the POS
availableInUnattended boolean Whether this price is currently available for selection in unattended purchase flow
availableOnline boolean Whether this price is currently available for selection online
billingFrequency string: MONTHLY, QUARTERLY, YEARLY or null Billing frequency for subscription prices (null for one-time prices)
createdAt timestamp (UTC) When this price was created
currency string Currency code (e.g., ‘USD’, ‘EUR’)
discountId string or null An (optional) promotional discount that will be applied to this price at sign-up. The discount object’s ID.
displayName string or null Operator-editable customer-facing name. When null, the UI falls back to product.name at render time.
id string Unique identifier for the price
internalName string or null Admin-only annotation. When set, shown as the primary label in admin tables with the resolved display name as the secondary label.
isArchived boolean Whether this price is archived and no longer active
isDefault boolean Whether this is a default price for the product (automatically assigned to new locations)
name string Display name for this price
productId string or null The product this price belongs to (null for v1 pricing-profile prices). Lightweight projection — full Product is available via a separate product(id:) query. The product object’s ID.
sortOrder integer Sort order for displaying the price in the POS
trialDuration integer or null Duration of the free trial period (used with trialUnits)
trialUnits string: DAYS, MONTHS, WEEKS or null Units for the trial duration (DAYS, WEEKS, or MONTHS)
updatedAt timestamp (UTC) When this price was last updated
washPackageId string or null The wash package this price applies to: set directly on a v1 price, and from its product’s plan, retail wash or prepaid on a v2 price. Null when there isn’t one, such as for a gift card. The washPackage object’s ID.

subscriptions

The RollerupSubscription type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
billingCustomerId string or null Latest billing provider customer ID (e.g., Stripe ‘cus_…’) associated with this subscription
billingFrequency string Billing frequency
billingSubscriptionId string or null Latest billing provider subscription ID (e.g., Stripe ‘sub_…’) associated with this subscription
cancelAt timestamp (UTC) or null Timestamp when the subscription is scheduled to be cancelled
cancelledAt timestamp (UTC) or null Timestamp when the subscription was cancelled
createdAt timestamp (UTC) Timestamp when the subscription was created
currentPeriodEnd timestamp (UTC) Current period end
currentPeriodStart timestamp (UTC) Current period start
customerId string or null Customer ID
endedAt string or null When the subscription ended (Membership.endedAt)
id string Subscription ID
isExternallyManaged boolean Whether the subscription is managed by an external billing system (e.g. drb). Externally-managed subscriptions cannot be edited via the API.
locationId string or null Current location ID associated with this subscription
soldAtLocationId string or null Location ID where this subscription was sold
soldById string or null Employee ID who sold this subscription
startedAt timestamp (UTC) or null Timestamp when the subscription started
status string Status of this subscription
trialEndAt string or null When the trial ends (Membership.trialEndAt)

visits

Only finished visits: completed or canceled. A visit arrives once it’s done, not at each step while it’s in the lane.

The Visit type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
carId string or null The id of the car associated with the visit
createdAt timestamp (UTC) The timestamp when the visit was created
employeeId string or null The employee who processed the visit. The employee object’s ID.
id string The unique identifier for the visit
isExternalMember boolean Whether or not this is a member in an external system. Primarily useful during onboarding. Will always be false if visit type is not ‘member’.
isSale boolean Whether or not this visit included a membership signup or wash purchase.
laneId string or null The lane ID where the visit occurred
locationId string The id of the location where the visit occurred
lprOverridden boolean or null Whether the LPR data has been overridden
lprPlate string or null The plate as seen by LPR
lprState string or null The state as seen by LPR
membershipId string or null If this visit is a member visit, the ID of the membership
plate string or null The plate number of the vehicle
rfidTag string or null The RFID tag of the vehicle
state string or null The state of the vehicle
status string The status of the visit
timeTotal double or null The total time the visit took in seconds.
timeWaitingForAttendant double or null The time the visit spent waiting for the attendant in seconds.
timeWaitingForGate double or null The time the visit spent waiting for the gate to open in seconds.
timeWithAttendant double or null The time the visit spent with the attendant in seconds.
updatedAt timestamp (UTC) The timestamp when the visit was last updated
visitType string or null The type of visit
washPackageId string or null The ID of the wash package for the visit

wash_packages

The WashPackage type in the GraphQL API, plus the metadata columns.

Column Type Description
_row_id string The row’s ID, the same as id, but also set on deleted rows, where id is null. Upsert and delete on it.
_deleted boolean true when the row was deleted. Only _row_id and _deleted are set on a deleted row; every other column is null.
createdAt timestamp (UTC) Timestamp when the package was created
description string or null An optional detailed description of the package
externalId string or null An optional reference ID to link this RollerUp package to a system external to RollerUp
id string Unique Wash package identifier
includesInterior boolean Whether this package includes interior cleaning
name string A friendly name for the package
updatedAt timestamp (UTC) Timestamp when the package was last updated