GraphQL API Reference

Welcome to the API reference for Redpoint HQ

API Endpoints
# Production:
https://ORG.rphq.com/api/graphql
Headers
# Your API token from the dashboard. Must be included in all API calls.
Authorization: Bearer <YOUR_TOKEN_HERE>
# Facility code (3 letters)
X-Redpoint-HQ-Facility: ALP

Facility Context

All mutations and some queries require a facility context. The action must take place at a facility and will error requesting the X-Redpoint-Hq-Facility header if not provided.

For example:

X-Redpoint-Hq-Facility: ALP

Example Curl Command

Replace INSERT_API_KEY_HERE and INSERT_ORG_IDENTIFIER_HERE in the following example curl command.

curl -i -H 'Accept: application/json' -H 'Authorization: Bearer INSERT_API_KEY_HERE' -X POST -d '{"query": "query {ping}"}' https://INSERT_ORG_IDENTIFIER_HERE.rphq.com/api/graphql

Request ID

Every request will be returned with a Request-Id header, which can be sent to Redpoint HQ support for debugging purposes.

For example:

Request-Id: ed4894d7-f636-4ee3-bc62-a74ab524d9ab

Queries

checkIns

Description

List the check-ins in this organization.

Response

Returns a CheckInConnection!

Arguments
Name Description
filter - CheckInFilter
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query CheckIns(
  $filter: CheckInFilter,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  checkIns(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...CheckInFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": CheckInFilter,
  "first": 123,
  "after": "abc123",
  "last": 123,
  "before": "abc123"
}
Response
{
  "data": {
    "checkIns": {
      "pageInfo": PageInfo,
      "edges": [CheckInEdge],
      "total": 987
    }
  }
}

context

Description

Return the current facility context (or null if no context header provided).

Response

Returns a Facility

Example

Query
query Context {
  context {
    active
    longName
    shortName
    timezone
    id
  }
}
Response
{
  "data": {
    "context": {
      "active": false,
      "longName": "xyz789",
      "shortName": "abc123",
      "timezone": Timezone,
      "id": "4"
    }
  }
}

customer

Description

Lookup customer by ID.

Response

Returns a Customer

Arguments
Name Description
id - ID!

Example

Query
query Customer($id: ID!) {
  customer(id: $id) {
    active
    firstName
    middleName
    lastName
    suffix
    dateOfBirth
    barcode
    bookingId
    address1
    address2
    city
    state
    postal
    country
    mobilePhone
    mobilePhoneTransactionOptIn
    mobilePhoneMarketingOptIn
    otherPhone
    email
    doNotMail
    lastVisitDate
    accountBalance
    accountBalanceDueNow
    dueBalance
    pastDueBalance
    creditBalance
    externalId
    createdAt
    updatedAt
    homeFacility {
      active
      longName
      shortName
      timezone
      id
    }
    id
    attributes {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...CustomerCustomAttributeEdgeFragment
      }
      total
    }
    invoices {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...InvoiceEdgeFragment
      }
      total
    }
    checkIns {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...CheckInEdgeFragment
      }
      total
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "customer": {
      "active": true,
      "firstName": "xyz789",
      "middleName": "abc123",
      "lastName": "abc123",
      "suffix": "abc123",
      "dateOfBirth": "2007-12-03",
      "barcode": "xyz789",
      "bookingId": "abc123",
      "address1": "abc123",
      "address2": "xyz789",
      "city": "abc123",
      "state": "abc123",
      "postal": "xyz789",
      "country": "xyz789",
      "mobilePhone": "xyz789",
      "mobilePhoneTransactionOptIn": false,
      "mobilePhoneMarketingOptIn": false,
      "otherPhone": "xyz789",
      "email": "abc123",
      "doNotMail": false,
      "lastVisitDate": "2007-12-03T10:15:30Z",
      "accountBalance": Money,
      "accountBalanceDueNow": Money,
      "dueBalance": Money,
      "pastDueBalance": Money,
      "creditBalance": Money,
      "externalId": "abc123",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "homeFacility": Facility,
      "id": "4",
      "attributes": CustomerCustomAttributeConnection,
      "invoices": InvoiceConnection,
      "checkIns": CheckInConnection
    }
  }
}

customerByExternalId

Description

Lookup customer by External ID.

Response

Returns a Customer

Arguments
Name Description
externalId - String!

Example

Query
query CustomerByExternalId($externalId: String!) {
  customerByExternalId(externalId: $externalId) {
    active
    firstName
    middleName
    lastName
    suffix
    dateOfBirth
    barcode
    bookingId
    address1
    address2
    city
    state
    postal
    country
    mobilePhone
    mobilePhoneTransactionOptIn
    mobilePhoneMarketingOptIn
    otherPhone
    email
    doNotMail
    lastVisitDate
    accountBalance
    accountBalanceDueNow
    dueBalance
    pastDueBalance
    creditBalance
    externalId
    createdAt
    updatedAt
    homeFacility {
      active
      longName
      shortName
      timezone
      id
    }
    id
    attributes {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...CustomerCustomAttributeEdgeFragment
      }
      total
    }
    invoices {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...InvoiceEdgeFragment
      }
      total
    }
    checkIns {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...CheckInEdgeFragment
      }
      total
    }
  }
}
Variables
{"externalId": "xyz789"}
Response
{
  "data": {
    "customerByExternalId": {
      "active": true,
      "firstName": "xyz789",
      "middleName": "xyz789",
      "lastName": "abc123",
      "suffix": "xyz789",
      "dateOfBirth": "2007-12-03",
      "barcode": "abc123",
      "bookingId": "abc123",
      "address1": "abc123",
      "address2": "abc123",
      "city": "xyz789",
      "state": "abc123",
      "postal": "xyz789",
      "country": "xyz789",
      "mobilePhone": "xyz789",
      "mobilePhoneTransactionOptIn": true,
      "mobilePhoneMarketingOptIn": true,
      "otherPhone": "abc123",
      "email": "xyz789",
      "doNotMail": false,
      "lastVisitDate": "2007-12-03T10:15:30Z",
      "accountBalance": Money,
      "accountBalanceDueNow": Money,
      "dueBalance": Money,
      "pastDueBalance": Money,
      "creditBalance": Money,
      "externalId": "abc123",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "homeFacility": Facility,
      "id": 4,
      "attributes": CustomerCustomAttributeConnection,
      "invoices": InvoiceConnection,
      "checkIns": CheckInConnection
    }
  }
}

customerSegment

Description

Lookup customer segment by ID.

Response

Returns a CustomerSegment

Arguments
Name Description
id - ID!

Example

Query
query CustomerSegment($id: ID!) {
  customerSegment(id: $id) {
    active
    group
    name
    description
    customers {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...CustomerEdgeFragment
      }
      total
    }
    id
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "customerSegment": {
      "active": true,
      "group": "xyz789",
      "name": "abc123",
      "description": "abc123",
      "customers": CustomerConnection,
      "id": "4"
    }
  }
}

customerSegments

Description

List the customer segments in this organization.

Response

Returns a CustomerSegmentConnection!

Arguments
Name Description
filter - CustomerSegmentFilter
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query CustomerSegments(
  $filter: CustomerSegmentFilter,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  customerSegments(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...CustomerSegmentFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": CustomerSegmentFilter,
  "first": 123,
  "after": "abc123",
  "last": 123,
  "before": "abc123"
}
Response
{
  "data": {
    "customerSegments": {
      "pageInfo": PageInfo,
      "edges": [CustomerSegmentEdge],
      "total": 987
    }
  }
}

customers

Description

List the customers in this organization.

Response

Returns a CustomerConnection!

Arguments
Name Description
filter - CustomerFilter!
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query Customers(
  $filter: CustomerFilter!,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  customers(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...CustomerFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": CustomerFilter,
  "first": 987,
  "after": "xyz789",
  "last": 123,
  "before": "abc123"
}
Response
{
  "data": {
    "customers": {
      "pageInfo": PageInfo,
      "edges": [CustomerEdge],
      "total": 987
    }
  }
}

facilities

Description

List the facilities in this organization.

Response

Returns a FacilityConnection!

Arguments
Name Description
filter - FacilityFilter!
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query Facilities(
  $filter: FacilityFilter!,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  facilities(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...FacilityFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": FacilityFilter,
  "first": 987,
  "after": "xyz789",
  "last": 123,
  "before": "abc123"
}
Response
{
  "data": {
    "facilities": {
      "pageInfo": PageInfo,
      "edges": [FacilityEdge],
      "total": 987
    }
  }
}

facility

Description

Lookup facility by ID.

Response

Returns a Facility

Arguments
Name Description
id - ID!

Example

Query
query Facility($id: ID!) {
  facility(id: $id) {
    active
    longName
    shortName
    timezone
    id
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "facility": {
      "active": false,
      "longName": "abc123",
      "shortName": "xyz789",
      "timezone": Timezone,
      "id": 4
    }
  }
}

gates

Description

List the gates in this organization.

Response

Returns a GateConnection!

Arguments
Name Description
filter - GateFilter!
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query Gates(
  $filter: GateFilter!,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  gates(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...GateFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": GateFilter,
  "first": 987,
  "after": "abc123",
  "last": 987,
  "before": "xyz789"
}
Response
{
  "data": {
    "gates": {
      "pageInfo": PageInfo,
      "edges": [GateEdge],
      "total": 123
    }
  }
}

invoice

Description

Lookup invoice by ID.

Response

Returns an Invoice

Arguments
Name Description
id - ID!

Example

Query
query Invoice($id: ID!) {
  invoice(id: $id) {
    postDate
    subtotal
    total
    salesTaxExclusive
    salesTaxInclusive
    pastDue
    balanceRemaining
    note
    voided
    createdAt
    updatedAt
    facility {
      active
      longName
      shortName
      timezone
      id
    }
    atFacility {
      active
      longName
      shortName
      timezone
      id
    }
    customer {
      active
      firstName
      middleName
      lastName
      suffix
      dateOfBirth
      barcode
      bookingId
      address1
      address2
      city
      state
      postal
      country
      mobilePhone
      mobilePhoneTransactionOptIn
      mobilePhoneMarketingOptIn
      otherPhone
      email
      doNotMail
      lastVisitDate
      accountBalance
      accountBalanceDueNow
      dueBalance
      pastDueBalance
      creditBalance
      externalId
      createdAt
      updatedAt
      homeFacility {
        ...FacilityFragment
      }
      id
      attributes {
        ...CustomerCustomAttributeConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      checkIns {
        ...CheckInConnectionFragment
      }
    }
    payingCustomer {
      active
      firstName
      middleName
      lastName
      suffix
      dateOfBirth
      barcode
      bookingId
      address1
      address2
      city
      state
      postal
      country
      mobilePhone
      mobilePhoneTransactionOptIn
      mobilePhoneMarketingOptIn
      otherPhone
      email
      doNotMail
      lastVisitDate
      accountBalance
      accountBalanceDueNow
      dueBalance
      pastDueBalance
      creditBalance
      externalId
      createdAt
      updatedAt
      homeFacility {
        ...FacilityFragment
      }
      id
      attributes {
        ...CustomerCustomAttributeConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      checkIns {
        ...CheckInConnectionFragment
      }
    }
    staff {
      active
      firstName
      middleName
      lastName
      suffix
      dateOfBirth
      barcode
      bookingId
      address1
      address2
      city
      state
      postal
      country
      mobilePhone
      mobilePhoneTransactionOptIn
      mobilePhoneMarketingOptIn
      otherPhone
      email
      doNotMail
      lastVisitDate
      accountBalance
      accountBalanceDueNow
      dueBalance
      pastDueBalance
      creditBalance
      externalId
      createdAt
      updatedAt
      homeFacility {
        ...FacilityFragment
      }
      id
      attributes {
        ...CustomerCustomAttributeConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      checkIns {
        ...CheckInConnectionFragment
      }
    }
    id
    items {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...InvoiceItemEdgeFragment
      }
      total
    }
    taxItems {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...InvoiceTaxItemEdgeFragment
      }
      total
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "invoice": {
      "postDate": "2007-12-03T10:15:30Z",
      "subtotal": Money,
      "total": Money,
      "salesTaxExclusive": Money,
      "salesTaxInclusive": Money,
      "pastDue": true,
      "balanceRemaining": Money,
      "note": "abc123",
      "voided": false,
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "facility": Facility,
      "atFacility": Facility,
      "customer": Customer,
      "payingCustomer": Customer,
      "staff": Customer,
      "id": "4",
      "items": InvoiceItemConnection,
      "taxItems": InvoiceTaxItemConnection
    }
  }
}

invoices

Description

List the invoices in this organization.

Response

Returns an InvoiceConnection!

Arguments
Name Description
filter - InvoiceFilter!
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query Invoices(
  $filter: InvoiceFilter!,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  invoices(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...InvoiceFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": InvoiceFilter,
  "first": 987,
  "after": "xyz789",
  "last": 123,
  "before": "xyz789"
}
Response
{
  "data": {
    "invoices": {
      "pageInfo": PageInfo,
      "edges": [InvoiceEdge],
      "total": 123
    }
  }
}

kaboom

Description

Kaboom route (throw internal server error).

Response

Returns a String

Example

Query
query Kaboom {
  kaboom
}
Response
{"data": {"kaboom": "abc123"}}

node

Description

General field to fetch any node by ID.

Response

Returns a Node

Arguments
Name Description
id - ID!

Example

Query
query Node($id: ID!) {
  node(id: $id) {
    id
  }
}
Variables
{"id": "4"}
Response
{"data": {"node": {"id": 4}}}

ping

Description

Authenticated ping route.

Response

Returns a String

Example

Query
query Ping {
  ping
}
Response
{"data": {"ping": "abc123"}}

product

Description

Lookup product by ID.

Response

Returns a Product

Arguments
Name Description
id - ID!

Example

Query
query Product($id: ID!) {
  product(id: $id) {
    active
    productType
    description
    hasVariants
    defaultVendorCost
    defaultRetailPrice
    anonymousSalesAllowed
    staffAlertNote
    note
    createdAt
    updatedAt
    vendor {
      active
      name
      accountNumber
      salesRepresentativeName
      salesRepresentativePhone
      address {
        ...AddressFragment
      }
      email
      phone
      fax
      note
      externalId
      createdAt
      updatedAt
      id
    }
    revenueAccount {
      active
      name
      fullName
      description
      mappingName
      exportedName
      createdAt
      updatedAt
      parent {
        ...RevenueAccountFragment
      }
      id
      children {
        ...RevenueAccountConnectionFragment
      }
    }
    id
    productVariants {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...ProductVariantEdgeFragment
      }
      total
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "product": {
      "active": true,
      "productType": "INVENTORY",
      "description": "xyz789",
      "hasVariants": true,
      "defaultVendorCost": Money,
      "defaultRetailPrice": Money,
      "anonymousSalesAllowed": true,
      "staffAlertNote": "xyz789",
      "note": "abc123",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "vendor": Vendor,
      "revenueAccount": RevenueAccount,
      "id": "4",
      "productVariants": ProductVariantConnection
    }
  }
}

products

Description

List the products in this organization.

Response

Returns a ProductConnection!

Arguments
Name Description
filter - ProductFilter!
first - Int Returns the first n elements from the list.
after - String Returns the elements in the list that come after the specified cursor.
last - Int Returns the last n elements from the list.
before - String Returns the elements in the list that come before the specified cursor.

Example

Query
query Products(
  $filter: ProductFilter!,
  $first: Int,
  $after: String,
  $last: Int,
  $before: String
) {
  products(
    filter: $filter,
    first: $first,
    after: $after,
    last: $last,
    before: $before
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      count
    }
    edges {
      node {
        ...ProductFragment
      }
      cursor
    }
    total
  }
}
Variables
{
  "filter": ProductFilter,
  "first": 123,
  "after": "xyz789",
  "last": 123,
  "before": "abc123"
}
Response
{
  "data": {
    "products": {
      "pageInfo": PageInfo,
      "edges": [ProductEdge],
      "total": 123
    }
  }
}

Mutations

createCheckIn

Description

Create a check-in.

Response

Returns a CreateCheckInPayload!

Arguments
Name Description
input - CreateCheckInInput!

Example

Query
mutation CreateCheckIn($input: CreateCheckInInput!) {
  createCheckIn(input: $input) {
    ... on CreateCheckInResult {
      recordId
      record {
        ...CheckInFragment
      }
      query {
        ...QueryFragment
      }
    }
    ... on DuplicateCheckInResult {
      recordId
      record {
        ...CheckInFragment
      }
      query {
        ...QueryFragment
      }
    }
  }
}
Variables
{"input": CreateCheckInInput}
Response
{"data": {"createCheckIn": CreateCheckInResult}}

createCustomer

Description

Create a new customer record.

First name, Last name, and facility required.

Response

Returns a CreateCustomerPayload!

Arguments
Name Description
input - CreateCustomerInput!

Example

Query
mutation CreateCustomer($input: CreateCustomerInput!) {
  createCustomer(input: $input) {
    ... on CreateCustomerResult {
      recordId
      record {
        ...CustomerFragment
      }
      query {
        ...QueryFragment
      }
    }
  }
}
Variables
{"input": CreateCustomerInput}
Response
{"data": {"createCustomer": CreateCustomerResult}}

deleteCustomer

Description

Delete a customer record.

Response

Returns a DeleteCustomerPayload!

Arguments
Name Description
input - DeleteCustomerInput!

Example

Query
mutation DeleteCustomer($input: DeleteCustomerInput!) {
  deleteCustomer(input: $input) {
    ... on DeleteCustomerResult {
      recordId
      query {
        ...QueryFragment
      }
    }
  }
}
Variables
{"input": DeleteCustomerInput}
Response
{"data": {"deleteCustomer": DeleteCustomerResult}}

updateCustomer

Description

Update a customer record.

Response

Returns an UpdateCustomerPayload!

Arguments
Name Description
input - UpdateCustomerInput!

Example

Query
mutation UpdateCustomer($input: UpdateCustomerInput!) {
  updateCustomer(input: $input) {
    ... on UpdateCustomerResult {
      recordId
      record {
        ...CustomerFragment
      }
      query {
        ...QueryFragment
      }
    }
  }
}
Variables
{"input": UpdateCustomerInput}
Response
{"data": {"updateCustomer": UpdateCustomerResult}}

Types

ActiveState

Values
Enum Value Description

ACTIVE

INACTIVE

ALL

Example
"ACTIVE"

Address

Description

An address (for customers or vendors).

Fields
Field Name Description
lineOne - String! Line one of the address.
lineTwo - String! Line two of the address.
city - String! City or Town.
state - String! State or Province.
postal - String! Postal or zip code.
country - String! Country.
Example
{
  "lineOne": "xyz789",
  "lineTwo": "abc123",
  "city": "xyz789",
  "state": "abc123",
  "postal": "abc123",
  "country": "abc123"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

CheckIn

Description

A check-in occurs for a customer at gate and facility.

Fields
Field Name Description
status - CheckInStatus! Result of the check-in.
checkInUtc - DateTime! Date and time of the check-in in UTC.
checkOutUtc - DateTime Date and time of the check-out in UTC (null if no check-out).
facility - Facility! Facility the check-in occurred at.
gate - Gate! Gate at the facility.
customer - Customer! Customer the check-in is for.
customerBadge - CustomerBadge The badge of the customer at the time of check-in (null if customer had no badge).
staff - Customer Staff who checked this customer in (null if no staff session).
id - ID!
Example
{
  "status": "OK",
  "checkInUtc": "2007-12-03T10:15:30Z",
  "checkOutUtc": "2007-12-03T10:15:30Z",
  "facility": Facility,
  "gate": Gate,
  "customer": Customer,
  "customerBadge": CustomerBadge,
  "staff": Customer,
  "id": "4"
}

CheckInConnection

Description

A paginated list of CheckIn edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [CheckInEdge!]! A list of CheckIn edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [CheckInEdge],
  "total": 123
}

CheckInEdge

Description

An edge that contains a node of type CheckIn and a cursor.

Fields
Field Name Description
node - CheckIn! The CheckIn node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": CheckIn,
  "cursor": "xyz789"
}

CheckInFilter

Description

Filter when listing check-ins.

Fields
Input Field Description
gateId - [ID!] Filter to only the selected gates.
facilityId - [ID!] Filter to only the selected facilities.
checkInDate - DateTimeFilter Include check-ins matching the date/time filter.
Example
{
  "gateId": ["4"],
  "facilityId": [4],
  "checkInDate": DateTimeFilter
}

CheckInStatus

Values
Enum Value Description

OK

WARN

ALERT

Example
"OK"

CreateCheckInInput

Description

Input to create a new customer record.

Fields
Input Field Description
gateId - ID! ID of the gate to check the customer in at.
customerId - ID! ID of the customer to check in.
Example
{"gateId": 4, "customerId": "4"}

CreateCheckInPayload

Description

Result from mutation.

Example
CreateCheckInResult

CreateCheckInResult

Description

Response from mutation.

Fields
Field Name Description
recordId - ID! The new check-in record ID.
record - CheckIn! The new check-in.
query - Query! The root query.
Example
{
  "recordId": 4,
  "record": CheckIn,
  "query": Query
}

CreateCustomerInput

Description

Input to create a new customer record.

Fields
Input Field Description
homeFacilityId - ID! ID of the home facility for this new customer.
firstName - String! Fist name of the customer.
middleName - String Middle name of the customer.
lastName - String! Last name of the customer.
suffix - String Suffix of the customer.
dateOfBirth - Date Date of birth of the customer (use empty string for null value).
mobilePhone - String Mobile phone number (E.164 standard).
mobilePhoneTransactionOptIn - Boolean Customer's opt-in preference for transactional text messages.
mobilePhoneMarketingOptIn - Boolean Customer's opt-in preference for marketing text messages.
otherPhone - String Free text to store extra phone numbers.
email - String Email address for the customer.
doNotMail - Boolean Do not mail enabled or disabled for the customer (defaults to false).
Example
{
  "homeFacilityId": 4,
  "firstName": "xyz789",
  "middleName": "abc123",
  "lastName": "abc123",
  "suffix": "xyz789",
  "dateOfBirth": "2007-12-03",
  "mobilePhone": "abc123",
  "mobilePhoneTransactionOptIn": false,
  "mobilePhoneMarketingOptIn": false,
  "otherPhone": "abc123",
  "email": "abc123",
  "doNotMail": true
}

CreateCustomerPayload

Description

Result from mutation.

Types
Union Types

CreateCustomerResult

Example
CreateCustomerResult

CreateCustomerResult

Description

Response from mutation.

Fields
Field Name Description
recordId - ID! The new customer record ID.
record - Customer! The new customer record.
query - Query! The root query.
Example
{
  "recordId": 4,
  "record": Customer,
  "query": Query
}

CustomAttributeSchema

Fields
Field Name Description
active - Boolean! Attribute is active.
name - String! User friendly name for attribute.
description - String! Caption providing additional context for attribute.
id - ID!
Example
{
  "active": false,
  "name": "xyz789",
  "description": "xyz789",
  "id": "4"
}

Customer

Description

A customer can sign contracts, buy products, receive benefits, etc.

Staff are also customers.

Fields
Field Name Description
active - Boolean! Active.
firstName - String! Customer's first name.
middleName - String! Customer's middle name.
lastName - String! Customer's last name.
suffix - String! Suffix of customer's name.
dateOfBirth - Date Customer's date of birth.
barcode - String Customer's barcode.
bookingId - String! Customer's booking ID.
address1 - String! Customer address line 1.
address2 - String! Customer address line 2.
city - String! City of customer's address.
state - String! State of customer's address.
postal - String! Postal code of customer's address.
country - String! Country of customer's address.
mobilePhone - String! Customer's mobile phone number.
mobilePhoneTransactionOptIn - Boolean! Customer's opt-in preference for transactional text messages.
mobilePhoneMarketingOptIn - Boolean! Customer's opt-in preference for marketing text messages.
otherPhone - String! Free text to store extra phone numbers.
email - String! Customer's email.
doNotMail - Boolean! Customer's do not mail preference.
lastVisitDate - DateTime Last visit date (null if no check-ins).
accountBalance - Money! Account balance including future invoices.
accountBalanceDueNow - Money! Account balance excluding debit invoices with due dates in the future.
dueBalance - Money! Balance of due invoices.
pastDueBalance - Money! Balance of past due invoices.
creditBalance - Money! Balance of credit invoices and payments.
externalId - String! External ID to map this customer to external systems.
createdAt - DateTime! Customer creation date and time in UTC.
updatedAt - DateTime! Last update date and time in UTC.
homeFacility - Facility! Customer's home facility.
id - ID!
attributes - CustomerCustomAttributeConnection! Retrieve attributes for this customer.
Arguments
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

invoices - InvoiceConnection! Retrieve invoices for this customer.
Arguments
filter - InvoiceFilter!
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

checkIns - CheckInConnection! Retrieve check-ins for this customer.
Arguments
filter - CheckInFilter
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

Example
{
  "active": false,
  "firstName": "abc123",
  "middleName": "xyz789",
  "lastName": "xyz789",
  "suffix": "abc123",
  "dateOfBirth": "2007-12-03",
  "barcode": "abc123",
  "bookingId": "abc123",
  "address1": "xyz789",
  "address2": "xyz789",
  "city": "abc123",
  "state": "abc123",
  "postal": "xyz789",
  "country": "abc123",
  "mobilePhone": "xyz789",
  "mobilePhoneTransactionOptIn": true,
  "mobilePhoneMarketingOptIn": true,
  "otherPhone": "xyz789",
  "email": "xyz789",
  "doNotMail": true,
  "lastVisitDate": "2007-12-03T10:15:30Z",
  "accountBalance": Money,
  "accountBalanceDueNow": Money,
  "dueBalance": Money,
  "pastDueBalance": Money,
  "creditBalance": Money,
  "externalId": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "homeFacility": Facility,
  "id": 4,
  "attributes": CustomerCustomAttributeConnection,
  "invoices": InvoiceConnection,
  "checkIns": CheckInConnection
}

CustomerBadge

Description

A customer badge is a quick way to understand how customer relates to the gym.

Fields
Field Name Description
name - String! Name of the customer badge.
id - ID!
Example
{
  "name": "abc123",
  "id": "4"
}

CustomerConnection

Description

A paginated list of Customer edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [CustomerEdge!]! A list of Customer edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [CustomerEdge],
  "total": 123
}

CustomerCustomAttribute

Fields
Field Name Description
schema - CustomAttributeSchema! Schema configuration for this attribute.
value - String! Current value.
triggeredFrom - DateTime! When attribute was set, expiration triggered from this value (in UTC).
expiresAt - DateTime When the attribute value expires (in UTC), null if no expiration.
Example
{
  "schema": CustomAttributeSchema,
  "value": "abc123",
  "triggeredFrom": "2007-12-03T10:15:30Z",
  "expiresAt": "2007-12-03T10:15:30Z"
}

CustomerCustomAttributeConnection

Description

A paginated list of CustomerCustomAttribute edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [CustomerCustomAttributeEdge!]! A list of CustomerCustomAttribute edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [CustomerCustomAttributeEdge],
  "total": 123
}

CustomerCustomAttributeEdge

Description

An edge that contains a node of type CustomerCustomAttribute and a cursor.

Fields
Field Name Description
node - CustomerCustomAttribute! The CustomerCustomAttribute node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": CustomerCustomAttribute,
  "cursor": "abc123"
}

CustomerEdge

Description

An edge that contains a node of type Customer and a cursor.

Fields
Field Name Description
node - Customer! The Customer node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Customer,
  "cursor": "abc123"
}

CustomerFilter

Description

Filter when listing customers.

Fields
Input Field Description
active - ActiveState! Include active, inactive, or both.
Example
{"active": "ACTIVE"}

CustomerSegment

Description

A customer segment is a list of customers defined by complex query constraints.

Fields
Field Name Description
active - Boolean! Active.
group - String! Group of customer segment.
name - String! Name of customer segment.
description - String! Description of customer segment.
customers - CustomerConnection! Retrieve customers for this segment.
Arguments
context - CustomerSegmentContext!

Required context for evaluation of the customer segment.

first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

id - ID!
Example
{
  "active": false,
  "group": "abc123",
  "name": "abc123",
  "description": "abc123",
  "customers": CustomerConnection,
  "id": 4
}

CustomerSegmentConnection

Description

A paginated list of CustomerSegment edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [CustomerSegmentEdge!]! A list of CustomerSegment edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [CustomerSegmentEdge],
  "total": 987
}

CustomerSegmentContext

Description

Context when listing customers in a customer segment.

Fields
Input Field Description
facilityId - ID! Facility ID the segment is evaluated at.
now - DateTime! The current date/time the segment is evaluated at.
Example
{
  "facilityId": "4",
  "now": "2007-12-03T10:15:30Z"
}

CustomerSegmentEdge

Description

An edge that contains a node of type CustomerSegment and a cursor.

Fields
Field Name Description
node - CustomerSegment! The CustomerSegment node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": CustomerSegment,
  "cursor": "xyz789"
}

CustomerSegmentFilter

Description

Filter when listing customer segments.

Fields
Input Field Description
active - ActiveState! Include active, inactive, or both.
Example
{"active": "ACTIVE"}

Date

Description

An ISO-8601 encoded date string with no time.

Example
"2007-12-03"

DateTime

Description

An ISO-8601 encoded date and time string (e.g. '2030-01-01 00:00:00') parsed as UTC.

Example
"2007-12-03T10:15:30Z"

DateTimeFilter

Description

Filter the selected UTC date/time

Fields
Input Field Description
after - DateTime Equal to or after the selected date/time (1-second resolution).
before - DateTime Equal to or before the selected date/time (1-second resolution).
Example
{
  "after": "2007-12-03T10:15:30Z",
  "before": "2007-12-03T10:15:30Z"
}

DeleteCustomerInput

Description

Input to delete the customer record.

Fields
Input Field Description
customerId - ID! ID of the customer record to delete.
Example
{"customerId": "4"}

DeleteCustomerPayload

Description

Result from mutation.

Types
Union Types

DeleteCustomerResult

Example
DeleteCustomerResult

DeleteCustomerResult

Description

Response from mutation.

Fields
Field Name Description
recordId - ID! The deleted customer record ID.
query - Query! The root query.
Example
{"recordId": 4, "query": Query}

DuplicateCheckInResult

Description

When a duplicate check-in is detected (< 15 seconds), the previous check-in is returned instead.

Fields
Field Name Description
recordId - ID! The previous check-in record ID.
record - CheckIn! The previous check-in.
query - Query! The root query.
Example
{
  "recordId": 4,
  "record": CheckIn,
  "query": Query
}

Facility

Description

A facility

Fields
Field Name Description
active - Boolean! Active.
longName - String! Long name of the facility.
shortName - String! Short name of the facility.
timezone - Timezone! Timezone of facility.
id - ID!
Example
{
  "active": true,
  "longName": "abc123",
  "shortName": "abc123",
  "timezone": Timezone,
  "id": "4"
}

FacilityConnection

Description

A paginated list of Facility edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [FacilityEdge!]! A list of Facility edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [FacilityEdge],
  "total": 123
}

FacilityEdge

Description

An edge that contains a node of type Facility and a cursor.

Fields
Field Name Description
node - Facility! The Facility node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Facility,
  "cursor": "abc123"
}

FacilityFilter

Description

Filter when listing facilities.

Fields
Input Field Description
active - ActiveState! Include active, inactive, or both.
Example
{"active": "ACTIVE"}

Gate

Description

A gate is where customers check-in.

Each gate is at a facility.

Fields
Field Name Description
active - Boolean! True if gate is active.
name - String! Name of the gate.
facility - Facility! Facility for the gate.
id - ID!
Example
{
  "active": false,
  "name": "xyz789",
  "facility": Facility,
  "id": 4
}

GateConnection

Description

A paginated list of Gate edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [GateEdge!]! A list of Gate edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [GateEdge],
  "total": 987
}

GateEdge

Description

An edge that contains a node of type Gate and a cursor.

Fields
Field Name Description
node - Gate! The Gate node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Gate,
  "cursor": "xyz789"
}

GateFilter

Description

Filter when listing gates.

Fields
Input Field Description
active - ActiveState! Include active, inactive, or both.
facilityId - [ID!] Filter to only the selected facilities.
Example
{"active": "ACTIVE", "facilityId": [4]}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

Invoice

Description

Represent an invoice.

Invoices have two customers, two facilities, and can be a debit or credit invoice.

Fields
Field Name Description
postDate - DateTime! Post date and time in UTC.
subtotal - Money! Sum of extended total of all non-tax line items.
total - Money! Total amount of this invoice.
salesTaxExclusive - Money! Exclusive sales tax on this invoice.
salesTaxInclusive - Money! Inclusive sales tax on this invoice.
pastDue - Boolean! True if the invoice is past due.
balanceRemaining - Money! Remaining balance to be paid on this invoice.
note - String! Internal staff notes on this invoice (not visible to customer in their portal).
voided - Boolean! True if the invoice has been voided.
createdAt - DateTime! Invoice creation date and time in UTC.
updatedAt - DateTime! UTC date and time of invoice's last update.
facility - Facility! Facility that receives the money for this invoice.
atFacility - Facility! Facility this invoice was created at (facility of register).
customer - Customer! Customer this invoice is for.
payingCustomer - Customer! Customer who paid the money for this invoice.
staff - Customer! Staff who created this invoice.
id - ID!
items - InvoiceItemConnection! Line items on this invoice.
Arguments
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

taxItems - InvoiceTaxItemConnection! Tax items on this invoice.
Arguments
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

Example
{
  "postDate": "2007-12-03T10:15:30Z",
  "subtotal": Money,
  "total": Money,
  "salesTaxExclusive": Money,
  "salesTaxInclusive": Money,
  "pastDue": false,
  "balanceRemaining": Money,
  "note": "xyz789",
  "voided": false,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "facility": Facility,
  "atFacility": Facility,
  "customer": Customer,
  "payingCustomer": Customer,
  "staff": Customer,
  "id": 4,
  "items": InvoiceItemConnection,
  "taxItems": InvoiceTaxItemConnection
}

InvoiceConnection

Description

A paginated list of Invoice edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [InvoiceEdge!]! A list of Invoice edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [InvoiceEdge],
  "total": 123
}

InvoiceEdge

Description

An edge that contains a node of type Invoice and a cursor.

Fields
Field Name Description
node - Invoice! The Invoice node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Invoice,
  "cursor": "abc123"
}

InvoiceFilter

Fields
Input Field Description
voided - VoidedState! Whether to include voided invoices (yes, no, or only voided).
postDate - DateTimeFilter Include check-ins matching the date/time filter.
Example
{"voided": "EFFECTIVE", "postDate": DateTimeFilter}

InvoiceItem

Description

An product item on an invoice.

Fields
Field Name Description
description - String! Description of the item (usually the product description).
quantity - Int! Quantity of this item.
unitPrice - Money! Amount customer pays for one unit of this item (precision of four decimal places).
extendedPrice - Money! Quantity multiplied by unit price (precision of two decimal places).
productVariant - ProductVariant! Product variant of the line item.
id - ID!
Example
{
  "description": "xyz789",
  "quantity": 987,
  "unitPrice": Money,
  "extendedPrice": Money,
  "productVariant": ProductVariant,
  "id": "4"
}

InvoiceItemConnection

Description

A paginated list of InvoiceItem edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [InvoiceItemEdge!]! A list of InvoiceItem edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [InvoiceItemEdge],
  "total": 987
}

InvoiceItemEdge

Description

An edge that contains a node of type InvoiceItem and a cursor.

Fields
Field Name Description
node - InvoiceItem! The InvoiceItem node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": InvoiceItem,
  "cursor": "xyz789"
}

InvoiceTaxItem

Description

An tax item on an invoice.

Fields
Field Name Description
description - String! Description of the item (tax rate description).
extendedPrice - Money! Quantity multiplied by unit price (precision of two decimal places).
id - ID!
Example
{
  "description": "xyz789",
  "extendedPrice": Money,
  "id": "4"
}

InvoiceTaxItemConnection

Description

A paginated list of InvoiceTaxItem edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [InvoiceTaxItemEdge!]! A list of InvoiceTaxItem edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [InvoiceTaxItemEdge],
  "total": 123
}

InvoiceTaxItemEdge

Description

An edge that contains a node of type InvoiceTaxItem and a cursor.

Fields
Field Name Description
node - InvoiceTaxItem! The InvoiceTaxItem node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": InvoiceTaxItem,
  "cursor": "xyz789"
}

Money

Description

A string representing money.

Example
Money

Node

Description

Any object implementing this type can be found by ID through Query.node.

Fields
Field Name Description
id - ID! Global identifier that can be used to resolve any Node implementation.
Example
{"id": 4}

PageInfo

Description

Information about pagination using a Relay style cursor connection.

Fields
Field Name Description
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String The cursor to continue paginating backwards.
endCursor - String The cursor to continue paginating forwards.
count - Int! Number of nodes in the current page.
Example
{
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "abc123",
  "endCursor": "abc123",
  "count": 123
}

Product

Description

Represents a product.

Products can be inventory or service.

Fields
Field Name Description
active - Boolean! True if the product is active.
productType - ProductType! Product type of this product.
description - String! Description of the product.
hasVariants - Boolean! True if the product uses variants (false is there is a generated variant).
defaultVendorCost - Money! Default vendor cost for item receipts and adjustments.
defaultRetailPrice - Money! Default retail price.
anonymousSalesAllowed - Boolean! True if anonymous sales are allowed at the front desk.
staffAlertNote - String! Staff will be alerted with this note at the front desk.
note - String! Note on this product.
createdAt - DateTime! Customer creation date and time in UTC.
updatedAt - DateTime! UTC date and time of record last update.
vendor - Vendor! Vendor for this product.
revenueAccount - RevenueAccount! Revenue Account for this product.
id - ID!
productVariants - ProductVariantConnection! Individual variants underneath this product.
Arguments
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

Example
{
  "active": true,
  "productType": "INVENTORY",
  "description": "xyz789",
  "hasVariants": false,
  "defaultVendorCost": Money,
  "defaultRetailPrice": Money,
  "anonymousSalesAllowed": false,
  "staffAlertNote": "xyz789",
  "note": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "vendor": Vendor,
  "revenueAccount": RevenueAccount,
  "id": "4",
  "productVariants": ProductVariantConnection
}

ProductConnection

Description

A paginated list of Product edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [ProductEdge!]! A list of Product edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [ProductEdge],
  "total": 123
}

ProductEdge

Description

An edge that contains a node of type Product and a cursor.

Fields
Field Name Description
node - Product! The Product node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Product,
  "cursor": "xyz789"
}

ProductFilter

Fields
Input Field Description
active - ActiveState! Include active, inactive, or both.
Example
{"active": "ACTIVE"}

ProductType

Values
Enum Value Description

INVENTORY

SERVICE

TAX

GIFTCARD

SYSTEM

Example
"INVENTORY"

ProductVariant

Description

Represents a product variant on a product.

Fields
Field Name Description
active - Boolean! True if the product variant is active.
sku - String! SKU of the variant.
barcode - String! Barcode of the variant.
sequence - Int! Sequence of the variant on the product.
display - String! Combined display of variant values.
staffAlertNote - String! Note to be alerted for staff when selling this at the front desk.
note - String! Note on this variant.
externalId - String! External reference ID for vendor.
createdAt - DateTime! Customer creation date and time in UTC.
updatedAt - DateTime! UTC date and time of record last update.
product - Product! Product this variant is under.
id - ID!
Example
{
  "active": false,
  "sku": "xyz789",
  "barcode": "abc123",
  "sequence": 987,
  "display": "abc123",
  "staffAlertNote": "xyz789",
  "note": "abc123",
  "externalId": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "product": Product,
  "id": 4
}

ProductVariantConnection

Description

A paginated list of ProductVariant edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [ProductVariantEdge!]! A list of ProductVariant edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [ProductVariantEdge],
  "total": 987
}

ProductVariantEdge

Description

An edge that contains a node of type ProductVariant and a cursor.

Fields
Field Name Description
node - ProductVariant! The ProductVariant node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": ProductVariant,
  "cursor": "abc123"
}

RevenueAccount

Description

Revenue account for a product.

Fields
Field Name Description
active - Boolean! True if the revenue account is active.
name - String! Name of the revenue account (e.g. Retail).
fullName - String! Full name of the account from the root (e.g. Retail/Shoes).
description - String! Description of the revenue account.
mappingName - String! Mapping name of the revenue account.
exportedName - String! Name of the revenue account during accounting export.
createdAt - DateTime! Creation date and time in UTC.
updatedAt - DateTime! Last update date and time in UTC.
parent - RevenueAccount Parent revenue account (null if no parent).
id - ID!
children - RevenueAccountConnection! Child accounts of this revenue account.
Arguments
first - Int

Returns the first n elements from the list.

after - String

Returns the elements in the list that come after the specified cursor.

last - Int

Returns the last n elements from the list.

before - String

Returns the elements in the list that come before the specified cursor.

Example
{
  "active": true,
  "name": "abc123",
  "fullName": "abc123",
  "description": "xyz789",
  "mappingName": "abc123",
  "exportedName": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "parent": RevenueAccount,
  "id": 4,
  "children": RevenueAccountConnection
}

RevenueAccountConnection

Description

A paginated list of RevenueAccount edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [RevenueAccountEdge!]! A list of RevenueAccount edges.
total - Int! Identifies the total count of items in the connection.
Example
{
  "pageInfo": PageInfo,
  "edges": [RevenueAccountEdge],
  "total": 123
}

RevenueAccountEdge

Description

An edge that contains a node of type RevenueAccount and a cursor.

Fields
Field Name Description
node - RevenueAccount! The RevenueAccount node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": RevenueAccount,
  "cursor": "abc123"
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

Timezone

Description

A string representing a valid timezone.

Example
Timezone

UpdateCustomerInput

Description

Input to update the customer record.

Fields
Input Field Description
customerId - ID! ID of the customer record to update.
firstName - String Fist name of the customer.
middleName - String Middle name of the customer.
lastName - String Last name of the customer.
suffix - String Suffix of the customer.
dateOfBirth - Date Date of birth of the customer (use empty string for null value).
mobilePhone - String Mobile phone number (E.164 standard).
mobilePhoneTransactionOptIn - Boolean Customer's opt-in preference for transactional text messages.
mobilePhoneMarketingOptIn - Boolean Customer's opt-in preference for marketing text messages.
otherPhone - String Free text to store extra phone numbers.
email - String Email address for the customer.
doNotMail - Boolean Do not mail enabled or disabled for the customer.
Example
{
  "customerId": 4,
  "firstName": "abc123",
  "middleName": "abc123",
  "lastName": "abc123",
  "suffix": "abc123",
  "dateOfBirth": "2007-12-03",
  "mobilePhone": "xyz789",
  "mobilePhoneTransactionOptIn": false,
  "mobilePhoneMarketingOptIn": true,
  "otherPhone": "abc123",
  "email": "xyz789",
  "doNotMail": true
}

UpdateCustomerPayload

Description

Result from mutation.

Types
Union Types

UpdateCustomerResult

Example
UpdateCustomerResult

UpdateCustomerResult

Description

Response from mutation.

Fields
Field Name Description
recordId - ID! The updated customer record ID.
record - Customer! The updated customer record.
query - Query! The root query.
Example
{
  "recordId": 4,
  "record": Customer,
  "query": Query
}

Vendor

Description

Vendor for a product.

Fields
Field Name Description
active - Boolean! True if the vendor is active.
name - String! Name of the vendor.
accountNumber - String! Account number of the vendor.
salesRepresentativeName - String! Sales representative name.
salesRepresentativePhone - String! Sales representative phone number.
address - Address! Address of the vendor.
email - String! Email address for the vendor.
phone - String! Phone number for the vendor.
fax - String! Fax number for the vendor.
note - String! Note for this vendor.
externalId - String! External reference ID for vendor.
createdAt - DateTime! Creation date and time in UTC.
updatedAt - DateTime! Last update date and time in UTC.
id - ID!
Example
{
  "active": false,
  "name": "xyz789",
  "accountNumber": "xyz789",
  "salesRepresentativeName": "xyz789",
  "salesRepresentativePhone": "xyz789",
  "address": Address,
  "email": "abc123",
  "phone": "xyz789",
  "fax": "xyz789",
  "note": "abc123",
  "externalId": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "id": 4
}

VoidedState

Values
Enum Value Description

EFFECTIVE

VOIDED

ALL

Example
"EFFECTIVE"