SMRT GraphQL API Documentation

This documentation offers a comprehensive documentation for the SMRT GraphQL API, providing full access to the SMRT point of sale software. Usage examples include, creating client signup forms, native apps, querying report data, pulling order information for sales tax reporting purposes, and much more!

To access the SMRT API, an 'Authorization' header with an API key is required. This key is available to businesses with an active subscription to SMRT Systems. For more information on our services and subscription details, please visit https://smrtsystems.com/.

Businesses interested in API integration can reach out to our support team at support@smrtsystems.com for an API key, applicable for both development and production use. This key is crucial for authenticating your API requests.

During the development phase, the API endpoint is https://apitesting.smrtapp.com/graphql, allowing certain public GraphQL queries without an API key for convenient testing. For production deployment, integrations shift to a unique business-specific subdomain, paired with a dedicated API key.

API Endpoints
https://apitesting.smrtapp.com/graphql/

Queries

business

Description

Information about the business that this graphql endpoint is referencing. The subdomain of *.smrtapp.com, will always match the subdomain of the business returned.

Response

Returns a Business

Example

Query
query Business {
  business {
    id
    localId
    shortId
    subdomain
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    employeeSettings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    stores {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    storesForCurrentBrand {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    communicationTemplatesList {
      id
      localId
      name
    }
    employees {
      id
      localId
      name
      firstName
    }
    routes {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      type
      isSubRoute
      masterRouteId
      pickupCutoffHours
      deliveryCutoffHours
      autoOptimize
    }
    groups {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    notes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    brands {
      id
      localId
      name
      brandId
      settings {
        ...SettingsFragment
      }
      agents {
        ...AgentFragment
      }
    }
    agents {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    holidays {
      id
      localId
      date
      noProduction
      noDelivery
      dayOfWeek
    }
    itemCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    itemTypes {
      id
      localId
      name
      category {
        ...ItemCategoryFragment
      }
      active
      price
      description
      departmentId
      defaultImageUrl
    }
    subscriptions {
      id
      localId
      name
      category {
        ...ItemCategoryFragment
      }
      active
      price
      description
      departmentId
      defaultImageUrl
    }
    taxRates {
      id
      localId
      objectId
      rate
    }
    paymentMethods {
      id
      localId
      name
      disabled
    }
    taxConfigurationRules {
      id
      localId
      sort
      parentRule
      isDisabled
      isDefault
      name
      rate
      useAutoTaxJar
      addressSpecific
      zipCondition
      departmentCondition
      agentCondition
    }
    itemValidationRules {
      id
      localId
      name
      requiredFields
      requiredSpecialCares
      itemTypeCondition
      departmentCondition
      sort
      isDisabled
    }
    itemFields {
      id
      localId
      name
    }
    financialDepartments {
      id
      localId
      name
      showInCustomerScheduler
    }
    specialCares {
      id
      localId
      name
    }
    alertTypes {
      id
      localId
      name
      active
    }
    alertSubTypes {
      id
      localId
      masterTypeId
      name
      prefTicket
      prefCustomer
      prefDelivery
      prefPressing
      prefInspection
      prefSpotting
      prefAlteration
      prefWashing
      mpOffloadArm
      active
    }
    chatRooms {
      id
      localId
      name
      specialRoomType
      isPrivate
      userIds
      agents
      usersAllowedToPost
      isNotificationsRoom
      isRequired
      chatMessages {
        ...ChatMessageFragment
      }
    }
    customerFields {
      id
      localId
      fieldType
      label
      possibleValues
      shownProfile
      shownPosSignUp
      shownCustomerWebsite
      shownCustomerWebsiteSignUp
      elasticKey
      disabled
      isRequired
    }
    usesPaymentSystem
    getCustomer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      creditCardIFrameURL
      authenticatedCustomerSiteLink
      creditCard {
        ...CreditCardFragment
      }
      datesForSchedulingAppointment {
        ...ScheduleDateFragment
      }
      unpaidOrders {
        ...UnpaidOrdersFragment
      }
      finishedPayments {
        ...PaymentReceiptFragment
      }
      customerBookings {
        ...CustomerBookingFragment
      }
      stagingDetailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      readyBags {
        ...CustomerBagFragment
      }
      isRouteCustomer
      customerRelationship
      deliveryStop
      demographic
      apiTokenForCustomer
      activePromotions {
        ...PromotionFragment
      }
      subscription {
        ...CustomerSubscriptionFragment
      }
      kioskAccessCode
      email
      cellPhone
      cellPhoneDisplay
      homePhone
      activePhone
      firstName
      lastName
      companyName
      fullName
      store {
        ...StoreFragment
      }
      customFields {
        ...CustomerFieldValueFragment
      }
      isInSignupProcess
      paymentStatus {
        ...PaymentStatusFragment
      }
      wardrobeCategories {
        ...ItemCategoryFragment
      }
      wardrobeItems {
        ...OrderItemFragment
      }
      paymentPreference
      rewardPoints
      rewards {
        ...RewardFragment
      }
      missingRewardSettingCriteria
    }
    getCustomers {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      creditCardIFrameURL
      authenticatedCustomerSiteLink
      creditCard {
        ...CreditCardFragment
      }
      datesForSchedulingAppointment {
        ...ScheduleDateFragment
      }
      unpaidOrders {
        ...UnpaidOrdersFragment
      }
      finishedPayments {
        ...PaymentReceiptFragment
      }
      customerBookings {
        ...CustomerBookingFragment
      }
      stagingDetailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      readyBags {
        ...CustomerBagFragment
      }
      isRouteCustomer
      customerRelationship
      deliveryStop
      demographic
      apiTokenForCustomer
      activePromotions {
        ...PromotionFragment
      }
      subscription {
        ...CustomerSubscriptionFragment
      }
      kioskAccessCode
      email
      cellPhone
      cellPhoneDisplay
      homePhone
      activePhone
      firstName
      lastName
      companyName
      fullName
      store {
        ...StoreFragment
      }
      customFields {
        ...CustomerFieldValueFragment
      }
      isInSignupProcess
      paymentStatus {
        ...PaymentStatusFragment
      }
      wardrobeCategories {
        ...ItemCategoryFragment
      }
      wardrobeItems {
        ...OrderItemFragment
      }
      paymentPreference
      rewardPoints
      rewards {
        ...RewardFragment
      }
      missingRewardSettingCriteria
    }
    getOrder {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      buyPrice
      pieceCount
      items {
        ...OrderItemFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
    }
    getAppointment {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    queryReports {
      id
      localId
      columns {
        ...QueryReportsResultColumnFragment
      }
      values
      totalCount
      kpi {
        ...QueryReportsResultKPIValueFragment
      }
    }
    productionStationStatistics {
      id
      localId
      hours
      pieces
      ppoh
      value
    }
    merchants {
      id
      localId
      name
      gateway
      agentIds
    }
    surcharges {
      id
      localId
      name
      disabled
    }
    customPriceLists {
      id
      localId
      name
    }
    marketingEmailTemplates {
      id
      localId
      name
      subject
      jsonTemplate
      htmlTemplate
    }
    marketingBroadcasts {
      id
      localId
      name
      subject
      broadcastType
      message
      customerKpiId
      emailTemplateId
      status
      dateCreated
      dateSent
      emailHtmlTemplate
      sentBy
      scheduledBy
      scheduledDate
    }
    marketingBroadcastFilters {
      id
      localId
      report
      title
      total
    }
    stripePublishableKey
    lockers {
      id
      localId
      address {
        ...CustomerAddressFragment
      }
    }
  }
}
Response
{
  "data": {
    "business": {
      "id": "4",
      "localId": 4,
      "shortId": 123,
      "subdomain": "xyz789",
      "settings": Settings,
      "employeeSettings": Settings,
      "stores": [Store],
      "storesForCurrentBrand": [Store],
      "communicationTemplatesList": [
        CommunicationTemplates
      ],
      "employees": [User],
      "routes": [Route],
      "groups": [Group],
      "notes": [Note],
      "brands": [Brand],
      "agents": [Agent],
      "holidays": [Holiday],
      "itemCategories": [ItemCategory],
      "itemTypes": [ItemType],
      "subscriptions": [ItemType],
      "taxRates": [TaxRate],
      "paymentMethods": [PaymentMethod],
      "taxConfigurationRules": [TaxConfigurationRule],
      "itemValidationRules": [ItemValidationRule],
      "itemFields": [ItemField],
      "financialDepartments": [FinancialDepartment],
      "specialCares": [SpecialCare],
      "alertTypes": [AlertType],
      "alertSubTypes": [AlertSubType],
      "chatRooms": [ChatRoom],
      "customerFields": [CustomerField],
      "usesPaymentSystem": false,
      "getCustomer": Customer,
      "getCustomers": [Customer],
      "getOrder": Order,
      "getAppointment": Appointment,
      "queryReports": QueryReportsResult,
      "productionStationStatistics": ProductionStationStatistics,
      "merchants": [Merchant],
      "surcharges": [Surcharge],
      "customPriceLists": [PriceList],
      "marketingEmailTemplates": [MarketingEmailTemplate],
      "marketingBroadcasts": [MarketingBroadcast],
      "marketingBroadcastFilters": [
        MarketingBroadcastFilterResponse
      ],
      "stripePublishableKey": "xyz789",
      "lockers": [Locker]
    }
  }
}

currentCustomer

Description

The currently authenticated customer. If one of the customer authentication mutations was previously used, this query will return that customer, as present in the session cookie.

Response

Returns a Customer

Example

Query
query CurrentCustomer {
  currentCustomer {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Response
{
  "data": {
    "currentCustomer": {
      "id": 4,
      "localId": "4",
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": ["4"],
      "goodOnlineAccountStanding": false,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "abc123",
      "authenticatedCustomerSiteLink": "xyz789",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 987,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "abc123",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "abc123",
      "firstName": "abc123",
      "lastName": "xyz789",
      "companyName": "abc123",
      "fullName": "abc123",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 123.45,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

currentStation

Description

The station the user is signed into

Response

Returns a Store

Example

Query
query CurrentStation {
  currentStation {
    id
    localId
    agentId
    agentType
    name
    isStripeEnabled
    merchant {
      id
      localId
      name
      gateway
      agentIds
    }
    phone
    address
    city
    state
    zip
    latitude
    longitude
    externalStoreIdentifier
    stations {
      id
      localId
      name
      store {
        ...StoreFragment
      }
      type {
        ...StationTypeFragment
      }
      lastUsed
    }
    hasCounterStation
  }
}
Response
{
  "data": {
    "currentStation": {
      "id": "4",
      "localId": "4",
      "agentId": "4",
      "agentType": "abc123",
      "name": "abc123",
      "isStripeEnabled": true,
      "merchant": Merchant,
      "phone": "abc123",
      "address": "xyz789",
      "city": "abc123",
      "state": "abc123",
      "zip": "xyz789",
      "latitude": 123.45,
      "longitude": 123.45,
      "externalStoreIdentifier": "abc123",
      "stations": [Station],
      "hasCounterStation": false
    }
  }
}

currentStore

Description

The store the user is signed into, or the default store if not set.

Response

Returns a Store

Example

Query
query CurrentStore {
  currentStore {
    id
    localId
    agentId
    agentType
    name
    isStripeEnabled
    merchant {
      id
      localId
      name
      gateway
      agentIds
    }
    phone
    address
    city
    state
    zip
    latitude
    longitude
    externalStoreIdentifier
    stations {
      id
      localId
      name
      store {
        ...StoreFragment
      }
      type {
        ...StationTypeFragment
      }
      lastUsed
    }
    hasCounterStation
  }
}
Response
{
  "data": {
    "currentStore": {
      "id": 4,
      "localId": 4,
      "agentId": 4,
      "agentType": "abc123",
      "name": "xyz789",
      "isStripeEnabled": false,
      "merchant": Merchant,
      "phone": "abc123",
      "address": "xyz789",
      "city": "abc123",
      "state": "abc123",
      "zip": "xyz789",
      "latitude": 987.65,
      "longitude": 123.45,
      "externalStoreIdentifier": "xyz789",
      "stations": [Station],
      "hasCounterStation": false
    }
  }
}

currentUser

Description

The currently authenticated user. This is normally an employee of the business, but if an API key is used, this will return the API user instead. Lastly, if a customer is authenticated rather than a user, this endpoint will return null.

Response

Returns a User

Example

Query
query CurrentUser {
  currentUser {
    id
    localId
    name
    firstName
  }
}
Response
{
  "data": {
    "currentUser": {
      "id": "4",
      "localId": 4,
      "name": "xyz789",
      "firstName": "abc123"
    }
  }
}

customerPreferences

Description

A list of customer preference sections

Response

Returns [CustomerPreferenceSection]!

Example

Query
query CustomerPreferences {
  customerPreferences {
    id
    localId
    type
    name
    options {
      id
      localId
      name
    }
  }
}
Response
{
  "data": {
    "customerPreferences": [
      {
        "id": 4,
        "localId": 4,
        "type": "abc123",
        "name": "abc123",
        "options": [CustomerPreference]
      }
    ]
  }
}

logoUrl

Description

Logo for the business.

Response

Returns a String!

Example

Query
query LogoUrl {
  logoUrl
}
Response
{"data": {"logoUrl": "xyz789"}}

node

Description

Retrieve any object given an id in the graph. Required by React Relay.

Response

Returns a Node

Arguments
Name Description
id - ID!

Example

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

nodes

Description

Retrieve multiple objects given ids in the graph. Required by React Relay.

Response

Returns [Node]!

Arguments
Name Description
ids - [ID!]!

Example

Query
query Nodes($ids: [ID!]!) {
  nodes(ids: $ids) {
    id
    localId
  }
}
Variables
{"ids": ["4"]}
Response
{
  "data": {
    "nodes": [{"id": 4, "localId": "4"}]
  }
}

rackByLockerCode

Description

Returns an address given a locker code. Also updates customer default address if locker address is found.

Response

Returns a RackByLockerCodeResponse!

Arguments
Name Description
customerId - ID!
lockerCode - String!

Example

Query
query RackByLockerCode(
  $customerId: ID!,
  $lockerCode: String!
) {
  rackByLockerCode(
    customerId: $customerId,
    lockerCode: $lockerCode
  ) {
    id
    localId
    rack {
      id
      localId
      address {
        ...CustomerAddressFragment
      }
      lockerOnRoute
    }
    address {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
  }
}
Variables
{
  "customerId": "4",
  "lockerCode": "abc123"
}
Response
{
  "data": {
    "rackByLockerCode": {
      "id": "4",
      "localId": "4",
      "rack": RackCfg,
      "address": CustomerAddress
    }
  }
}

stationTypes

Description

Get a list of possible station types

Response

Returns [StationType]!

Example

Query
query StationTypes {
  stationTypes {
    id
    localId
    name
    category
  }
}
Response
{
  "data": {
    "stationTypes": [
      {
        "id": 4,
        "localId": 4,
        "name": "abc123",
        "category": "xyz789"
      }
    ]
  }
}

Mutations

addCustomerToRoute

Description

Adds a customer to a route

Response

Returns a Customer

Arguments
Name Description
customerId - ID!
routeId - ID!
preference - CustomerDeliveryPreferenceEnum!

Example

Query
mutation AddCustomerToRoute(
  $customerId: ID!,
  $routeId: ID!,
  $preference: CustomerDeliveryPreferenceEnum!
) {
  addCustomerToRoute(
    customerId: $customerId,
    routeId: $routeId,
    preference: $preference
  ) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{"customerId": 4, "routeId": 4, "preference": "NO_PREFERENCE"}
Response
{
  "data": {
    "addCustomerToRoute": {
      "id": "4",
      "localId": 4,
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "preferences": ["4"],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "xyz789",
      "authenticatedCustomerSiteLink": "xyz789",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": false,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "abc123",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "abc123",
      "homePhone": "xyz789",
      "activePhone": "abc123",
      "firstName": "xyz789",
      "lastName": "abc123",
      "companyName": "xyz789",
      "fullName": "xyz789",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": false,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

addUserToChatRoom

Description

Add a chat user to a room

Response

Returns a Boolean!

Arguments
Name Description
roomId - ID! A full chat room id, like ChatRoom_0000_1234
userId - ID! A full chat user id, like ChatUser_0000_1234

Example

Query
mutation AddUserToChatRoom(
  $roomId: ID!,
  $userId: ID!
) {
  addUserToChatRoom(
    roomId: $roomId,
    userId: $userId
  )
}
Variables
{
  "roomId": "4",
  "userId": "4"
}
Response
{"data": {"addUserToChatRoom": true}}

appendSpecialChatMessageContent

Description

If a chat message contains any special info like item or customer barcodes this endpoint will transform the message replacing the barcodes with links

Response

Returns a String!

Arguments
Name Description
message - String! The original message to process

Example

Query
mutation AppendSpecialChatMessageContent($message: String!) {
  appendSpecialChatMessageContent(message: $message)
}
Variables
{"message": "xyz789"}
Response
{
  "data": {
    "appendSpecialChatMessageContent": "xyz789"
  }
}

cancelAppointment

Description

Cancel an appointment. Requires access level: Customer or Admin

Response

Returns a Boolean

Arguments
Name Description
appointmentId - ID! The ID of the appointment to cancel

Example

Query
mutation CancelAppointment($appointmentId: ID!) {
  cancelAppointment(appointmentId: $appointmentId)
}
Variables
{"appointmentId": "4"}
Response
{"data": {"cancelAppointment": true}}

cancelCustomerSubscription

Description

Cancels a subscription by setting the status to 'cancelled', but also sets the end date to the end of the month during which time it will remain active. Requires access level: Customer or Admin

Response

Returns a CustomerSubscription

Arguments
Name Description
customerId - ID! A customer id
status - SubscriptionStatusEnum! The status of the subscription to cancel

Example

Query
mutation CancelCustomerSubscription(
  $customerId: ID!,
  $status: SubscriptionStatusEnum!
) {
  cancelCustomerSubscription(
    customerId: $customerId,
    status: $status
  ) {
    id
    localId
    pending {
      id
      localId
      saleId
      price
      start
      end
    }
    active {
      id
      localId
      saleId
      price
      start
      end
    }
    log {
      id
      localId
      date
      event
      description
      user {
        ...UserFragment
      }
    }
    renewalDate
  }
}
Variables
{"customerId": "4", "status": "pending"}
Response
{
  "data": {
    "cancelCustomerSubscription": {
      "id": 4,
      "localId": 4,
      "pending": CustomerSubscriptionEntry,
      "active": CustomerSubscriptionEntry,
      "log": [CustomerSubscriptionLog],
      "renewalDate": "2007-12-03T10:15:30Z"
    }
  }
}

clearCurrentCustomer

Response

Returns a Boolean

Example

Query
mutation ClearCurrentCustomer {
  clearCurrentCustomer
}
Response
{"data": {"clearCurrentCustomer": false}}

createAndSetStation

Description

Create a new station given a store and station type. On success, the secret key is returned that the client should store in the cookie 'smrt_stkey' for authentication. If your IP is not whitelisted, you must provide a user entered auth code as argument. Simply try the endpoint and on error, ask the user to input an auth code. The endpoint will also give an error if the auth key is invalid.

Response

Returns a String!

Arguments
Name Description
stationTypeId - String! The station type (StationType_x_y) of the station that you want to create
storeId - String! The store id (Store_x_y) of the store that you want to assign this station to
authCode - String For a non whitelisted IP, you must provide an auth code to create a station. This can be fetched manually in the admin panel.

Example

Query
mutation CreateAndSetStation(
  $stationTypeId: String!,
  $storeId: String!,
  $authCode: String
) {
  createAndSetStation(
    stationTypeId: $stationTypeId,
    storeId: $storeId,
    authCode: $authCode
  )
}
Variables
{
  "stationTypeId": "abc123",
  "storeId": "abc123",
  "authCode": "abc123"
}
Response
{"data": {"createAndSetStation": "abc123"}}

createAuthCodesForSettingStation

Description

Generate 5 one-time authentication codes for setting up stations. Requires access level: Sr Manager

Response

Returns [String]!

Example

Query
mutation CreateAuthCodesForSettingStation {
  createAuthCodesForSettingStation
}
Response
{
  "data": {
    "createAuthCodesForSettingStation": [
      "abc123"
    ]
  }
}

createCardSetupIntent

Description

Creates a Stripe Setup Intent, returns the Stripe client secret. Requires access level: Customer or Admin

Response

Returns a String!

Arguments
Name Description
customerId - ID! A customer id

Example

Query
mutation CreateCardSetupIntent($customerId: ID!) {
  createCardSetupIntent(customerId: $customerId)
}
Variables
{"customerId": 4}
Response
{
  "data": {
    "createCardSetupIntent": "abc123"
  }
}

createCustomer

Description

Creates a customer. Requires access level: Admin

Response

Returns a Customer

Arguments
Name Description
input - CustomerInput! Customer to create
agentId - String The associated agent ID

Example

Query
mutation CreateCustomer(
  $input: CustomerInput!,
  $agentId: String
) {
  createCustomer(
    input: $input,
    agentId: $agentId
  ) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{
  "input": CustomerInput,
  "agentId": "abc123"
}
Response
{
  "data": {
    "createCustomer": {
      "id": 4,
      "localId": 4,
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "preferences": [4],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "abc123",
      "authenticatedCustomerSiteLink": "abc123",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 987,
      "apiTokenForCustomer": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "xyz789",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "abc123",
      "homePhone": "abc123",
      "activePhone": "abc123",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "companyName": "abc123",
      "fullName": "abc123",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": false,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

createNotificationForEmployees

Description

Send a notification to specified employees. Requires access level: Production

Response

Returns a Boolean!

Arguments
Name Description
text - String! Body of the message.
employees - [ID]! Array of employee ids to send the notification to.

Example

Query
mutation CreateNotificationForEmployees(
  $text: String!,
  $employees: [ID]!
) {
  createNotificationForEmployees(
    text: $text,
    employees: $employees
  )
}
Variables
{
  "text": "abc123",
  "employees": ["4"]
}
Response
{"data": {"createNotificationForEmployees": true}}

createPayment

Description

Creates a payment

Response

Returns a PaymentStatus!

Arguments
Name Description
input - CreatePaymentInput!

Example

Query
mutation CreatePayment($input: CreatePaymentInput!) {
  createPayment(input: $input) {
    id
    localId
    paymentReference
    paymentStatus
  }
}
Variables
{"input": CreatePaymentInput}
Response
{
  "data": {
    "createPayment": {
      "id": 4,
      "localId": "4",
      "paymentReference": "abc123",
      "paymentStatus": "AUTHORIZED"
    }
  }
}

createPhoto

Description

Creates a photo from a base64 string

Response

Returns a Photo

Arguments
Name Description
input - PhotoInput!

Example

Query
mutation CreatePhoto($input: PhotoInput!) {
  createPhoto(input: $input) {
    id
    localId
    status
    thumbnailUrl
    smallUrl
    largeUrl
    description
  }
}
Variables
{"input": PhotoInput}
Response
{
  "data": {
    "createPhoto": {
      "id": "4",
      "localId": "4",
      "status": "xyz789",
      "thumbnailUrl": "abc123",
      "smallUrl": "abc123",
      "largeUrl": "abc123",
      "description": "xyz789"
    }
  }
}

deactivateAccount

Description

Deactivates customer account. Requires access level: Sales Clerk

Response

Returns an ID!

Arguments
Name Description
customerId - ID! Account id for customer
subCategoryId - ID! Sub category id
description - String Alert description

Example

Query
mutation DeactivateAccount(
  $customerId: ID!,
  $subCategoryId: ID!,
  $description: String
) {
  deactivateAccount(
    customerId: $customerId,
    subCategoryId: $subCategoryId,
    description: $description
  )
}
Variables
{
  "customerId": "4",
  "subCategoryId": "4",
  "description": "abc123"
}
Response
{"data": {"deactivateAccount": "4"}}

deleteMarketingBroadcast

Description

Delete a marketing broadcast.

Response

Returns an ID

Arguments
Name Description
broadcastId - ID! Id of the marketing broadcast to delete

Example

Query
mutation DeleteMarketingBroadcast($broadcastId: ID!) {
  deleteMarketingBroadcast(broadcastId: $broadcastId)
}
Variables
{"broadcastId": "4"}
Response
{"data": {"deleteMarketingBroadcast": 4}}

deleteMarketingEmailTemplate

Description

Delete an marketing email template.

Response

Returns an ID

Arguments
Name Description
templateId - ID! Id of the template to delete

Example

Query
mutation DeleteMarketingEmailTemplate($templateId: ID!) {
  deleteMarketingEmailTemplate(templateId: $templateId)
}
Variables
{"templateId": "4"}
Response
{"data": {"deleteMarketingEmailTemplate": 4}}

deleteRouteHold

Description

Delete a customer route hold. Requires access level: Sr Manager

Response

Returns an ID

Arguments
Name Description
customerId - ID! Id of the customer to delete a route hold for
input - ID! Id of the route hold to delete

Example

Query
mutation DeleteRouteHold(
  $customerId: ID!,
  $input: ID!
) {
  deleteRouteHold(
    customerId: $customerId,
    input: $input
  )
}
Variables
{
  "customerId": "4",
  "input": "4"
}
Response
{"data": {"deleteRouteHold": "4"}}

deleteTaxConfigurationRule

Description

Delete a tax configuration rule. Requires access level: Sr Manager

Response

Returns an ID

Arguments
Name Description
ruleId - ID! Id of the rule to delete

Example

Query
mutation DeleteTaxConfigurationRule($ruleId: ID!) {
  deleteTaxConfigurationRule(ruleId: $ruleId)
}
Variables
{"ruleId": "4"}
Response
{"data": {"deleteTaxConfigurationRule": 4}}

getAdminApiToken

Description

Create or get an existing JWT admin API Token. This token does not expire unless revoked. Requires access level: Admin

Response

Returns a String!

Example

Query
mutation GetAdminApiToken {
  getAdminApiToken
}
Response
{"data": {"getAdminApiToken": "xyz789"}}

getBeefreeApiToken

Description

Create or get an existing Beefree API Token. Requires access level: Admin

Response

Returns a String!

Example

Query
mutation GetBeefreeApiToken {
  getBeefreeApiToken
}
Response
{"data": {"getBeefreeApiToken": "xyz789"}}

pickupOrdersHeimacKiosk

Description

Pickup orders through Heimac Kiosk

Response

Returns a Boolean

Arguments
Name Description
barcodes - [String]! Array with barcodes

Example

Query
mutation PickupOrdersHeimacKiosk($barcodes: [String]!) {
  pickupOrdersHeimacKiosk(barcodes: $barcodes)
}
Variables
{"barcodes": ["xyz789"]}
Response
{"data": {"pickupOrdersHeimacKiosk": true}}

prepareChatUser

Description

To be called before connecting to chat socket to ensure appropriate data exists

Response

Returns a Boolean!

Example

Query
mutation PrepareChatUser {
  prepareChatUser
}
Response
{"data": {"prepareChatUser": true}}

prepareKioskTicketsForPayment

Description

Extracts finished tickets to new orders to allow for partial payment and pickup from a 24/7 kiosk. Returns the number of splits performed.

Response

Returns an Int

Arguments
Name Description
customerId - ID!

Example

Query
mutation PrepareKioskTicketsForPayment($customerId: ID!) {
  prepareKioskTicketsForPayment(customerId: $customerId)
}
Variables
{"customerId": 4}
Response
{"data": {"prepareKioskTicketsForPayment": 123}}

putAlertSubType

Description

Creates or updates an Alert Sub Type

Response

Returns an AlertSubType

Arguments
Name Description
input - AlertSubTypeInput!

Example

Query
mutation PutAlertSubType($input: AlertSubTypeInput!) {
  putAlertSubType(input: $input) {
    id
    localId
    masterTypeId
    name
    prefTicket
    prefCustomer
    prefDelivery
    prefPressing
    prefInspection
    prefSpotting
    prefAlteration
    prefWashing
    mpOffloadArm
    active
  }
}
Variables
{"input": AlertSubTypeInput}
Response
{
  "data": {
    "putAlertSubType": {
      "id": 4,
      "localId": "4",
      "masterTypeId": 4,
      "name": "abc123",
      "prefTicket": true,
      "prefCustomer": false,
      "prefDelivery": false,
      "prefPressing": false,
      "prefInspection": true,
      "prefSpotting": true,
      "prefAlteration": true,
      "prefWashing": false,
      "mpOffloadArm": "abc123",
      "active": true
    }
  }
}

putAppointment

Description

Create or update an Appointment. Requires access level: Customer or Admin

Response

Returns an Appointment!

Arguments
Name Description
input - AppointmentInput! An Appointment to create or update
isPickup - Boolean Must be set if scheduling both pickup and delivery

Example

Query
mutation PutAppointment(
  $input: AppointmentInput!,
  $isPickup: Boolean
) {
  putAppointment(
    input: $input,
    isPickup: $isPickup
  ) {
    id
    localId
    startTime
    endTime
    timeSlot {
      id
      localId
      start
      end
      routeId
    }
    scheduledBy {
      id
      localId
      name
    }
    scheduledAt
    route {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      type
      isSubRoute
      masterRouteId
      pickupCutoffHours
      deliveryCutoffHours
      autoOptimize
    }
    driverInstructions
    cleaningInstructions
    departments {
      id
      localId
      name
      showInCustomerScheduler
    }
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      creditCardIFrameURL
      authenticatedCustomerSiteLink
      creditCard {
        ...CreditCardFragment
      }
      datesForSchedulingAppointment {
        ...ScheduleDateFragment
      }
      unpaidOrders {
        ...UnpaidOrdersFragment
      }
      finishedPayments {
        ...PaymentReceiptFragment
      }
      customerBookings {
        ...CustomerBookingFragment
      }
      stagingDetailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      readyBags {
        ...CustomerBagFragment
      }
      isRouteCustomer
      customerRelationship
      deliveryStop
      demographic
      apiTokenForCustomer
      activePromotions {
        ...PromotionFragment
      }
      subscription {
        ...CustomerSubscriptionFragment
      }
      kioskAccessCode
      email
      cellPhone
      cellPhoneDisplay
      homePhone
      activePhone
      firstName
      lastName
      companyName
      fullName
      store {
        ...StoreFragment
      }
      customFields {
        ...CustomerFieldValueFragment
      }
      isInSignupProcess
      paymentStatus {
        ...PaymentStatusFragment
      }
      wardrobeCategories {
        ...ItemCategoryFragment
      }
      wardrobeItems {
        ...OrderItemFragment
      }
      paymentPreference
      rewardPoints
      rewards {
        ...RewardFragment
      }
      missingRewardSettingCriteria
    }
    address {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    driver {
      id
      localId
      name
      firstName
    }
    regular
    anytime
    status
    appointmentLinkId
    photos {
      id
      localId
      status
      thumbnailUrl
      smallUrl
      largeUrl
      description
    }
    lockerCode
    vehicleStatus {
      id
      localId
      driverName
      driverPhone
      lastPositionAt
      currentLatitude
      currentLongitude
      stopsLeft
    }
    stopNumber
  }
}
Variables
{"input": AppointmentInput, "isPickup": false}
Response
{
  "data": {
    "putAppointment": {
      "id": "4",
      "localId": "4",
      "startTime": "2007-12-03T10:15:30Z",
      "endTime": "2007-12-03T10:15:30Z",
      "timeSlot": TimeSlot,
      "scheduledBy": Actor,
      "scheduledAt": "2007-12-03T10:15:30Z",
      "route": Route,
      "driverInstructions": "xyz789",
      "cleaningInstructions": "abc123",
      "departments": [FinancialDepartment],
      "customer": Customer,
      "address": CustomerAddress,
      "driver": User,
      "regular": true,
      "anytime": false,
      "status": "incomplete",
      "appointmentLinkId": 4,
      "photos": [Photo],
      "lockerCode": 4,
      "vehicleStatus": DeliveryVehicleStatus,
      "stopNumber": 987
    }
  }
}

putBrand

Description

Update or Create brand. Requires access level: Sr Manager

Response

Returns a Brand!

Arguments
Name Description
input - BrandInput! A brand to create/update

Example

Query
mutation PutBrand($input: BrandInput!) {
  putBrand(input: $input) {
    id
    localId
    name
    brandId
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    agents {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
  }
}
Variables
{"input": BrandInput}
Response
{
  "data": {
    "putBrand": {
      "id": 4,
      "localId": 4,
      "name": "abc123",
      "brandId": "abc123",
      "settings": Settings,
      "agents": [Agent]
    }
  }
}

putChatRoom

Description

Create or update a chat room. Requires access level: Sr Manager

Response

Returns a ChatRoom!

Arguments
Name Description
input - ChatRoomInput! A chat room to create/update

Example

Query
mutation PutChatRoom($input: ChatRoomInput!) {
  putChatRoom(input: $input) {
    id
    localId
    name
    specialRoomType
    isPrivate
    userIds
    agents
    usersAllowedToPost
    isNotificationsRoom
    isRequired
    chatMessages {
      id
      localId
      roomId
      userId
      text
      createDate
    }
  }
}
Variables
{"input": ChatRoomInput}
Response
{
  "data": {
    "putChatRoom": {
      "id": "4",
      "localId": 4,
      "name": "xyz789",
      "specialRoomType": "xyz789",
      "isPrivate": false,
      "userIds": [4],
      "agents": [4],
      "usersAllowedToPost": [4],
      "isNotificationsRoom": true,
      "isRequired": true,
      "chatMessages": [ChatMessage]
    }
  }
}

putContactLogEmail

Description

Sends a message to the customer using the contact log. Requires access level: Customer or Admin

Response

Returns a Boolean

Arguments
Name Description
customerId - ID! A customer id (optional, defaults to logged in user)
subject - String Message subject
message - String Message

Example

Query
mutation PutContactLogEmail(
  $customerId: ID!,
  $subject: String,
  $message: String
) {
  putContactLogEmail(
    customerId: $customerId,
    subject: $subject,
    message: $message
  )
}
Variables
{
  "customerId": "4",
  "subject": "xyz789",
  "message": "abc123"
}
Response
{"data": {"putContactLogEmail": true}}

putCreditCard

Description

Updates a customer's credit card. Responds with 'added' or 'updated'. For Stripe only id and customerId is mandatory. Requires access level: Customer or Admin

Response

Returns a String!

Arguments
Name Description
customerId - ID! A customer id
id - String! A credit card ID
type - CreditCardTypeEnum A credit card type
last4 - Int Last 4 digits of the credit card number
expiryMonth - Int Month of expiry (1-12)
expiryYear - Int Year of expiry in 4 digits
addedBy - CreditCardAddedByEnum By whom the card was added, defaults to customer

Example

Query
mutation PutCreditCard(
  $customerId: ID!,
  $id: String!,
  $type: CreditCardTypeEnum,
  $last4: Int,
  $expiryMonth: Int,
  $expiryYear: Int,
  $addedBy: CreditCardAddedByEnum
) {
  putCreditCard(
    customerId: $customerId,
    id: $id,
    type: $type,
    last4: $last4,
    expiryMonth: $expiryMonth,
    expiryYear: $expiryYear,
    addedBy: $addedBy
  )
}
Variables
{
  "customerId": 4,
  "id": "xyz789",
  "type": "visa",
  "last4": 987,
  "expiryMonth": 987,
  "expiryYear": 987,
  "addedBy": "customer"
}
Response
{"data": {"putCreditCard": "xyz789"}}

putCustomer

Description

Updates a customer. Requires access level: Customer or Admin

Response

Returns a Customer

Arguments
Name Description
customerId - ID A customer id (optional, defaults to logged in user)
input - CustomerInput! Customer fields to update
promotionToApply - String A coupon code to apply to the customer

Example

Query
mutation PutCustomer(
  $customerId: ID,
  $input: CustomerInput!,
  $promotionToApply: String
) {
  putCustomer(
    customerId: $customerId,
    input: $input,
    promotionToApply: $promotionToApply
  ) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{
  "customerId": 4,
  "input": CustomerInput,
  "promotionToApply": "abc123"
}
Response
{
  "data": {
    "putCustomer": {
      "id": "4",
      "localId": "4",
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": ["4"],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "xyz789",
      "authenticatedCustomerSiteLink": "abc123",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 987,
      "apiTokenForCustomer": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "abc123",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "abc123",
      "homePhone": "abc123",
      "activePhone": "xyz789",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "companyName": "xyz789",
      "fullName": "xyz789",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 123.45,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

putCustomerAddresses

Description

Updates a customer's addresses. Requires access level: Customer or Admin

Response

Returns a PutCustomerAddressesResponse

Arguments
Name Description
customerId - ID A customer id (optional, defaults to logged in user)
defaultName - String The default address name. Must be one of Billing | Home | Business | Other
addresses - [CustomerAddressInput]! A list of addresses
updateDeliveries - Boolean If true, also update addresses for currently scheduled deliveries

Example

Query
mutation PutCustomerAddresses(
  $customerId: ID,
  $defaultName: String,
  $addresses: [CustomerAddressInput]!,
  $updateDeliveries: Boolean
) {
  putCustomerAddresses(
    customerId: $customerId,
    defaultName: $defaultName,
    addresses: $addresses,
    updateDeliveries: $updateDeliveries
  ) {
    id
    localId
    info
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
  }
}
Variables
{
  "customerId": "4",
  "defaultName": "abc123",
  "addresses": [CustomerAddressInput],
  "updateDeliveries": false
}
Response
{
  "data": {
    "putCustomerAddresses": {
      "id": "4",
      "localId": 4,
      "info": "xyz789",
      "addresses": [CustomerAddress]
    }
  }
}

putCustomerField

Description

Creates or updates a customer field

Response

Returns a CustomerField

Arguments
Name Description
input - CustomerFieldInput!

Example

Query
mutation PutCustomerField($input: CustomerFieldInput!) {
  putCustomerField(input: $input) {
    id
    localId
    fieldType
    label
    possibleValues
    shownProfile
    shownPosSignUp
    shownCustomerWebsite
    shownCustomerWebsiteSignUp
    elasticKey
    disabled
    isRequired
  }
}
Variables
{"input": CustomerFieldInput}
Response
{
  "data": {
    "putCustomerField": {
      "id": 4,
      "localId": 4,
      "fieldType": "text",
      "label": "abc123",
      "possibleValues": ["xyz789"],
      "shownProfile": true,
      "shownPosSignUp": true,
      "shownCustomerWebsite": true,
      "shownCustomerWebsiteSignUp": false,
      "elasticKey": "abc123",
      "disabled": false,
      "isRequired": false
    }
  }
}

putCustomerPreferences

Description

Updates a customer's preferences. Requires access level: Customer or Admin

Response

Returns [ID]!

Arguments
Name Description
customerId - ID! A customer id
preferenceIds - [ID]! A list of preference ids

Example

Query
mutation PutCustomerPreferences(
  $customerId: ID!,
  $preferenceIds: [ID]!
) {
  putCustomerPreferences(
    customerId: $customerId,
    preferenceIds: $preferenceIds
  )
}
Variables
{"customerId": 4, "preferenceIds": [4]}
Response
{"data": {"putCustomerPreferences": ["4"]}}

putDetailedOrder

Description

Create a detailed customer order. Requires access level: Customer or Admin

Response

Returns a DetailedCustomerOrder!

Arguments
Name Description
customerId - String! A customer id
order - DetailedCustomerOrderInput Details for the order, provided directly by customer

Example

Query
mutation PutDetailedOrder(
  $customerId: String!,
  $order: DetailedCustomerOrderInput
) {
  putDetailedOrder(
    customerId: $customerId,
    order: $order
  ) {
    id
    localId
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      creditCardIFrameURL
      authenticatedCustomerSiteLink
      creditCard {
        ...CreditCardFragment
      }
      datesForSchedulingAppointment {
        ...ScheduleDateFragment
      }
      unpaidOrders {
        ...UnpaidOrdersFragment
      }
      finishedPayments {
        ...PaymentReceiptFragment
      }
      customerBookings {
        ...CustomerBookingFragment
      }
      stagingDetailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      readyBags {
        ...CustomerBagFragment
      }
      isRouteCustomer
      customerRelationship
      deliveryStop
      demographic
      apiTokenForCustomer
      activePromotions {
        ...PromotionFragment
      }
      subscription {
        ...CustomerSubscriptionFragment
      }
      kioskAccessCode
      email
      cellPhone
      cellPhoneDisplay
      homePhone
      activePhone
      firstName
      lastName
      companyName
      fullName
      store {
        ...StoreFragment
      }
      customFields {
        ...CustomerFieldValueFragment
      }
      isInSignupProcess
      paymentStatus {
        ...PaymentStatusFragment
      }
      wardrobeCategories {
        ...ItemCategoryFragment
      }
      wardrobeItems {
        ...OrderItemFragment
      }
      paymentPreference
      rewardPoints
      rewards {
        ...RewardFragment
      }
      missingRewardSettingCriteria
    }
    isStaging
    detailedItemData {
      id
      localId
      description
      photo {
        ...PhotoFragment
      }
      annotations {
        ...AnnotationFragment
      }
    }
  }
}
Variables
{
  "customerId": "xyz789",
  "order": DetailedCustomerOrderInput
}
Response
{
  "data": {
    "putDetailedOrder": {
      "id": "4",
      "localId": "4",
      "customer": Customer,
      "isStaging": true,
      "detailedItemData": [DetailedItemData]
    }
  }
}

putImportOrder

Description

Creates an import order. Requires access level: Customer or Admin

Response

Returns an Order

Arguments
Name Description
customerId - ID! A customer id (optional, defaults to logged in user)
agentId - String The orders agent
amount - String Amount in dollar of the order
status - String The status of the order
comment - String Comment

Example

Query
mutation PutImportOrder(
  $customerId: ID!,
  $agentId: String,
  $amount: String,
  $status: String,
  $comment: String
) {
  putImportOrder(
    customerId: $customerId,
    agentId: $agentId,
    amount: $amount,
    status: $status,
    comment: $comment
  ) {
    id
    localId
    displayId
    date
    dueDate
    deliveredDate
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      creditCardIFrameURL
      authenticatedCustomerSiteLink
      creditCard {
        ...CreditCardFragment
      }
      datesForSchedulingAppointment {
        ...ScheduleDateFragment
      }
      unpaidOrders {
        ...UnpaidOrdersFragment
      }
      finishedPayments {
        ...PaymentReceiptFragment
      }
      customerBookings {
        ...CustomerBookingFragment
      }
      stagingDetailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      readyBags {
        ...CustomerBagFragment
      }
      isRouteCustomer
      customerRelationship
      deliveryStop
      demographic
      apiTokenForCustomer
      activePromotions {
        ...PromotionFragment
      }
      subscription {
        ...CustomerSubscriptionFragment
      }
      kioskAccessCode
      email
      cellPhone
      cellPhoneDisplay
      homePhone
      activePhone
      firstName
      lastName
      companyName
      fullName
      store {
        ...StoreFragment
      }
      customFields {
        ...CustomerFieldValueFragment
      }
      isInSignupProcess
      paymentStatus {
        ...PaymentStatusFragment
      }
      wardrobeCategories {
        ...ItemCategoryFragment
      }
      wardrobeItems {
        ...OrderItemFragment
      }
      paymentPreference
      rewardPoints
      rewards {
        ...RewardFragment
      }
      missingRewardSettingCriteria
    }
    pickupStore {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    dropStore {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    isPickup
    isDelivery
    hasChangedReturnLocation
    isPaid
    buyPrice
    pieceCount
    items {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    customerProvidedDetails {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
  }
}
Variables
{
  "customerId": 4,
  "agentId": "abc123",
  "amount": "abc123",
  "status": "abc123",
  "comment": "xyz789"
}
Response
{
  "data": {
    "putImportOrder": {
      "id": "4",
      "localId": "4",
      "displayId": "4",
      "date": "2007-12-03T10:15:30Z",
      "dueDate": "2007-12-03T10:15:30Z",
      "deliveredDate": "2007-12-03T10:15:30Z",
      "customer": Customer,
      "pickupStore": Store,
      "dropStore": Store,
      "isPickup": true,
      "isDelivery": true,
      "hasChangedReturnLocation": true,
      "isPaid": false,
      "buyPrice": 123.45,
      "pieceCount": 987,
      "items": [OrderItem],
      "customerProvidedDetails": DetailedCustomerOrder
    }
  }
}

putItemCategories

Description

Update or Create item categories. Requires access level: Sr Manager

Response

Returns [ItemCategory]!

Arguments
Name Description
input - [ItemCategoryInput]! A list of item categories to create/update

Example

Query
mutation PutItemCategories($input: [ItemCategoryInput]!) {
  putItemCategories(input: $input) {
    id
    localId
    name
    sort
    description
    disabled
    isRetail
  }
}
Variables
{"input": [ItemCategoryInput]}
Response
{
  "data": {
    "putItemCategories": [
      {
        "id": 4,
        "localId": 4,
        "name": "abc123",
        "sort": 987,
        "description": "xyz789",
        "disabled": false,
        "isRetail": true
      }
    ]
  }
}

putItemValidationRule

Description

Create or update an item validation rule. Requires access level: Sr Manager

Response

Returns an ItemValidationRule!

Arguments
Name Description
input - ItemValidationRuleInput! A rule to create/update

Example

Query
mutation PutItemValidationRule($input: ItemValidationRuleInput!) {
  putItemValidationRule(input: $input) {
    id
    localId
    name
    requiredFields
    requiredSpecialCares
    itemTypeCondition
    departmentCondition
    sort
    isDisabled
  }
}
Variables
{"input": ItemValidationRuleInput}
Response
{
  "data": {
    "putItemValidationRule": {
      "id": 4,
      "localId": "4",
      "name": "xyz789",
      "requiredFields": ["xyz789"],
      "requiredSpecialCares": ["abc123"],
      "itemTypeCondition": ["xyz789"],
      "departmentCondition": ["xyz789"],
      "sort": 123,
      "isDisabled": false
    }
  }
}

putMarketingBroadcast

Description

Creates or updates a marketing broadcast

Response

Returns a MarketingBroadcast

Arguments
Name Description
input - MarketingBroadcastInput!

Example

Query
mutation PutMarketingBroadcast($input: MarketingBroadcastInput!) {
  putMarketingBroadcast(input: $input) {
    id
    localId
    name
    subject
    broadcastType
    message
    customerKpiId
    emailTemplateId
    status
    dateCreated
    dateSent
    emailHtmlTemplate
    sentBy
    scheduledBy
    scheduledDate
  }
}
Variables
{"input": MarketingBroadcastInput}
Response
{
  "data": {
    "putMarketingBroadcast": {
      "id": 4,
      "localId": "4",
      "name": "xyz789",
      "subject": "abc123",
      "broadcastType": "xyz789",
      "message": "abc123",
      "customerKpiId": "abc123",
      "emailTemplateId": "xyz789",
      "status": "abc123",
      "dateCreated": 123.45,
      "dateSent": "xyz789",
      "emailHtmlTemplate": "xyz789",
      "sentBy": "abc123",
      "scheduledBy": "abc123",
      "scheduledDate": "abc123"
    }
  }
}

putMarketingEmailTemplate

Description

Creates or updates a marketing email template

Response

Returns a MarketingEmailTemplate

Arguments
Name Description
input - MarketingEmailTemplateInput!

Example

Query
mutation PutMarketingEmailTemplate($input: MarketingEmailTemplateInput!) {
  putMarketingEmailTemplate(input: $input) {
    id
    localId
    name
    subject
    jsonTemplate
    htmlTemplate
  }
}
Variables
{"input": MarketingEmailTemplateInput}
Response
{
  "data": {
    "putMarketingEmailTemplate": {
      "id": "4",
      "localId": 4,
      "name": "xyz789",
      "subject": "xyz789",
      "jsonTemplate": "xyz789",
      "htmlTemplate": "abc123"
    }
  }
}

putRouteHold

Description

Update or Create a customer route hold. Requires access level: Sales Clerk

Response

Returns a CustomerRouteHold!

Arguments
Name Description
customerId - ID! Id of the customer to create/update a route hold for
input - CustomerRouteHoldInput! A route hold to create/update

Example

Query
mutation PutRouteHold(
  $customerId: ID!,
  $input: CustomerRouteHoldInput!
) {
  putRouteHold(
    customerId: $customerId,
    input: $input
  ) {
    id
    localId
    startDate
    endDate
  }
}
Variables
{"customerId": 4, "input": CustomerRouteHoldInput}
Response
{
  "data": {
    "putRouteHold": {
      "id": 4,
      "localId": "4",
      "startDate": "xyz789",
      "endDate": "abc123"
    }
  }
}

putTaxConfigurationRule

Description

Update or Create a tax configuration rule. Requires access level: Sr Manager

Response

Returns a TaxConfigurationRule!

Arguments
Name Description
input - TaxConfigurationRuleInput! A rule to create/update

Example

Query
mutation PutTaxConfigurationRule($input: TaxConfigurationRuleInput!) {
  putTaxConfigurationRule(input: $input) {
    id
    localId
    sort
    parentRule
    isDisabled
    isDefault
    name
    rate
    useAutoTaxJar
    addressSpecific
    zipCondition
    departmentCondition
    agentCondition
  }
}
Variables
{"input": TaxConfigurationRuleInput}
Response
{
  "data": {
    "putTaxConfigurationRule": {
      "id": 4,
      "localId": "4",
      "sort": 123,
      "parentRule": 4,
      "isDisabled": true,
      "isDefault": true,
      "name": "abc123",
      "rate": 123.45,
      "useAutoTaxJar": true,
      "addressSpecific": true,
      "zipCondition": "abc123",
      "departmentCondition": ["abc123"],
      "agentCondition": ["abc123"]
    }
  }
}

redeemReward

Description

Redeems a reward for a customer

Response

Returns a Boolean!

Arguments
Name Description
rewardId - ID! The id of the reward to redeem

Example

Query
mutation RedeemReward($rewardId: ID!) {
  redeemReward(rewardId: $rewardId)
}
Variables
{"rewardId": 4}
Response
{"data": {"redeemReward": true}}

removeCustomerFromRoute

Description

Removes a customer from their current route

Response

Returns a Boolean

Arguments
Name Description
customerId - ID!
preference - CustomerDeliveryPreferenceEnum New delivery preference (optional, defaults to NO_PREFERENCE)

Example

Query
mutation RemoveCustomerFromRoute(
  $customerId: ID!,
  $preference: CustomerDeliveryPreferenceEnum
) {
  removeCustomerFromRoute(
    customerId: $customerId,
    preference: $preference
  )
}
Variables
{
  "customerId": "4",
  "preference": "NO_PREFERENCE"
}
Response
{"data": {"removeCustomerFromRoute": false}}

removeUserFromChatRoom

Description

Remove a chat user from a room

Response

Returns a Boolean!

Arguments
Name Description
roomId - ID! A full chat room id, like ChatRoom_0000_1234
userId - ID! A full chat user id, like ChatUser_0000_1234

Example

Query
mutation RemoveUserFromChatRoom(
  $roomId: ID!,
  $userId: ID!
) {
  removeUserFromChatRoom(
    roomId: $roomId,
    userId: $userId
  )
}
Variables
{"roomId": 4, "userId": "4"}
Response
{"data": {"removeUserFromChatRoom": false}}

requestRouteRegular

Description

A customer requests to be assigned to a regular route. Requires access level: Customer

Response

Returns a Boolean

Example

Query
mutation RequestRouteRegular {
  requestRouteRegular
}
Response
{"data": {"requestRouteRegular": false}}

scheduleMarketingBroadcast

Description

Schedules a marketing broadcast

Response

Returns a Boolean

Arguments
Name Description
marketingBroadcast - MarketingBroadcastInput! The broadcast to schedule

Example

Query
mutation ScheduleMarketingBroadcast($marketingBroadcast: MarketingBroadcastInput!) {
  scheduleMarketingBroadcast(marketingBroadcast: $marketingBroadcast)
}
Variables
{"marketingBroadcast": MarketingBroadcastInput}
Response
{"data": {"scheduleMarketingBroadcast": true}}

selectCustomerSubscription

Description

Creates a subscription invoice & sets the subscription status to 'pending'. Requires access level: Customer or Admin

Response

Returns a CustomerSubscription

Arguments
Name Description
customerId - ID! A customer id
subscriptionId - ID! The subscription item type id

Example

Query
mutation SelectCustomerSubscription(
  $customerId: ID!,
  $subscriptionId: ID!
) {
  selectCustomerSubscription(
    customerId: $customerId,
    subscriptionId: $subscriptionId
  ) {
    id
    localId
    pending {
      id
      localId
      saleId
      price
      start
      end
    }
    active {
      id
      localId
      saleId
      price
      start
      end
    }
    log {
      id
      localId
      date
      event
      description
      user {
        ...UserFragment
      }
    }
    renewalDate
  }
}
Variables
{
  "customerId": "4",
  "subscriptionId": "4"
}
Response
{
  "data": {
    "selectCustomerSubscription": {
      "id": "4",
      "localId": 4,
      "pending": CustomerSubscriptionEntry,
      "active": CustomerSubscriptionEntry,
      "log": [CustomerSubscriptionLog],
      "renewalDate": "2007-12-03T10:15:30Z"
    }
  }
}

sendCustomerMessage

Description

Sends a message from a customer to the cleaner and adds it to the contact log

Response

Returns a Boolean!

Arguments
Name Description
customerId - ID!
message - String!

Example

Query
mutation SendCustomerMessage(
  $customerId: ID!,
  $message: String!
) {
  sendCustomerMessage(
    customerId: $customerId,
    message: $message
  )
}
Variables
{"customerId": 4, "message": "abc123"}
Response
{"data": {"sendCustomerMessage": true}}

sendCustomerSignupText

Description

Sends a text with a signup link to a provided customer phone number.

Response

Returns a Boolean

Arguments
Name Description
phone - String! A phone number
fromKiosk - Boolean Optional flag to specify if the text is triggered from a kiosk.

Example

Query
mutation SendCustomerSignupText(
  $phone: String!,
  $fromKiosk: Boolean
) {
  sendCustomerSignupText(
    phone: $phone,
    fromKiosk: $fromKiosk
  )
}
Variables
{"phone": "abc123", "fromKiosk": true}
Response
{"data": {"sendCustomerSignupText": false}}

sendKioskAlreadyInUseText

Description

Sends a text that the kiosk is already in use to a provided customer phone number.

Response

Returns a Boolean

Arguments
Name Description
phone - String! A phone number

Example

Query
mutation SendKioskAlreadyInUseText($phone: String!) {
  sendKioskAlreadyInUseText(phone: $phone)
}
Variables
{"phone": "abc123"}
Response
{"data": {"sendKioskAlreadyInUseText": false}}

sendMarketingBroadcast

Description

Sends a marketing broadcast

Response

Returns a Boolean

Arguments
Name Description
marketingBroadcast - MarketingBroadcastInput! The broadcast to send

Example

Query
mutation SendMarketingBroadcast($marketingBroadcast: MarketingBroadcastInput!) {
  sendMarketingBroadcast(marketingBroadcast: $marketingBroadcast)
}
Variables
{"marketingBroadcast": MarketingBroadcastInput}
Response
{"data": {"sendMarketingBroadcast": true}}

setCurrentCustomer

Response

Returns a Customer

Arguments
Name Description
customerId - ID! A customer ID to be logged in

Example

Query
mutation SetCurrentCustomer($customerId: ID!) {
  setCurrentCustomer(customerId: $customerId) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{"customerId": 4}
Response
{
  "data": {
    "setCurrentCustomer": {
      "id": 4,
      "localId": 4,
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": [4],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "abc123",
      "authenticatedCustomerSiteLink": "xyz789",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "abc123",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "abc123",
      "firstName": "abc123",
      "lastName": "xyz789",
      "companyName": "xyz789",
      "fullName": "abc123",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 123.45,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

setStation

Description

Try to assign this computer to a station. On success, the secret key is returned that the client should store in the cookie 'smrt_stkey' for authentication. If your IP is not whitelisted, you must provide a user entered auth code as argument. Simply try the endpoint and on error, ask the user to input an auth code. The endpoint will also give an error if the auth key is invalid.

Response

Returns a String!

Arguments
Name Description
stationId - String! The id (Station_x_y) of the station you want to set this computer to
authCode - String For a non whitelisted IP, you must provide an auth code to set a station. This can be fetched manually in the admin panel.

Example

Query
mutation SetStation(
  $stationId: String!,
  $authCode: String
) {
  setStation(
    stationId: $stationId,
    authCode: $authCode
  )
}
Variables
{
  "stationId": "abc123",
  "authCode": "xyz789"
}
Response
{"data": {"setStation": "abc123"}}

signinCustomerWebsite

Description

Combined signup and signin endpoint for the customer facing web app. Returns a customer ID which should be used with the verifyCustomerSigninSMSCode mutation

Response

Returns an ID

Arguments
Name Description
phone - String! A customer phone number

Example

Query
mutation SigninCustomerWebsite($phone: String!) {
  signinCustomerWebsite(phone: $phone)
}
Variables
{"phone": "abc123"}
Response
{"data": {"signinCustomerWebsite": "4"}}

sortDeliveryStops

Description

Sort delivery stops

Response

Returns [Customer]!

Arguments
Name Description
routeId - ID! The route id
sortedStopIds - [ID]! A list of sorted delivery stop ids (customer ids)

Example

Query
mutation SortDeliveryStops(
  $routeId: ID!,
  $sortedStopIds: [ID]!
) {
  sortDeliveryStops(
    routeId: $routeId,
    sortedStopIds: $sortedStopIds
  ) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{"routeId": "4", "sortedStopIds": [4]}
Response
{
  "data": {
    "sortDeliveryStops": [
      {
        "id": "4",
        "localId": 4,
        "name": "abc123",
        "futureAppointments": [Appointment],
        "settings": Settings,
        "group": Group,
        "agent": Agent,
        "routeHolds": [CustomerRouteHold],
        "driverInstructions": "abc123",
        "preferences": [4],
        "goodOnlineAccountStanding": false,
        "addresses": [CustomerAddress],
        "defaultAddress": CustomerAddress,
        "creditCardIFrameURL": "xyz789",
        "authenticatedCustomerSiteLink": "xyz789",
        "creditCard": CreditCard,
        "datesForSchedulingAppointment": [ScheduleDate],
        "unpaidOrders": UnpaidOrders,
        "finishedPayments": [PaymentReceipt],
        "customerBookings": [CustomerBooking],
        "stagingDetailedCustomerOrder": DetailedCustomerOrder,
        "readyBags": [CustomerBag],
        "isRouteCustomer": false,
        "customerRelationship": "STORE_ONLY",
        "deliveryStop": 987,
        "demographic": 123,
        "apiTokenForCustomer": "xyz789",
        "activePromotions": [Promotion],
        "subscription": CustomerSubscription,
        "kioskAccessCode": "xyz789",
        "email": "xyz789",
        "cellPhone": "xyz789",
        "cellPhoneDisplay": "abc123",
        "homePhone": "abc123",
        "activePhone": "abc123",
        "firstName": "abc123",
        "lastName": "abc123",
        "companyName": "abc123",
        "fullName": "abc123",
        "store": Store,
        "customFields": [CustomerFieldValue],
        "isInSignupProcess": false,
        "paymentStatus": PaymentStatus,
        "wardrobeCategories": [ItemCategory],
        "wardrobeItems": [OrderItem],
        "paymentPreference": "AUTOPAY",
        "rewardPoints": 987.65,
        "rewards": [Reward],
        "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
      }
    ]
  }
}

sortItemValidationRules

Description

Sort item validation rules. Requires access level: Sr Manager

Response

Returns a Boolean

Arguments
Name Description
sortedRuleIds - [ID]! A list of sorted rule ids

Example

Query
mutation SortItemValidationRules($sortedRuleIds: [ID]!) {
  sortItemValidationRules(sortedRuleIds: $sortedRuleIds)
}
Variables
{"sortedRuleIds": ["4"]}
Response
{"data": {"sortItemValidationRules": true}}

sortTaxConfigurationRules

Description

Sort tax configuration rules. Requires access level: Sr Manager

Response

Returns a Boolean

Arguments
Name Description
sortedRuleIds - [ID]! A list of sorted rule ids

Example

Query
mutation SortTaxConfigurationRules($sortedRuleIds: [ID]!) {
  sortTaxConfigurationRules(sortedRuleIds: $sortedRuleIds)
}
Variables
{"sortedRuleIds": [4]}
Response
{"data": {"sortTaxConfigurationRules": true}}

startRouteOptimization

Description

Schedules a background job for automatic optimizing of a route.

Response

Returns a Boolean

Arguments
Name Description
routeId - ID!
date - Int What day to optimize, as a unix timestamp

Example

Query
mutation StartRouteOptimization(
  $routeId: ID!,
  $date: Int
) {
  startRouteOptimization(
    routeId: $routeId,
    date: $date
  )
}
Variables
{"routeId": "4", "date": 987}
Response
{"data": {"startRouteOptimization": true}}

startTextSignIn

Description

Takes a phone number and sends a text to the user with a sign in code

Response

Returns a String!

Arguments
Name Description
phoneNumber - String! The active phone number of the customer to sign in or register

Example

Query
mutation StartTextSignIn($phoneNumber: String!) {
  startTextSignIn(phoneNumber: $phoneNumber)
}
Variables
{"phoneNumber": "abc123"}
Response
{"data": {"startTextSignIn": "xyz789"}}

terminatePayment

Description

Terminates an ongoing payment

Response

Returns a PaymentStatus!

Arguments
Name Description
customerId - String! A customer id
paymentReference - String! A payment reference

Example

Query
mutation TerminatePayment(
  $customerId: String!,
  $paymentReference: String!
) {
  terminatePayment(
    customerId: $customerId,
    paymentReference: $paymentReference
  ) {
    id
    localId
    paymentReference
    paymentStatus
  }
}
Variables
{
  "customerId": "abc123",
  "paymentReference": "xyz789"
}
Response
{
  "data": {
    "terminatePayment": {
      "id": 4,
      "localId": 4,
      "paymentReference": "xyz789",
      "paymentStatus": "AUTHORIZED"
    }
  }
}

unloadTicketsOnMPArm

Description

Unload tickets for a specific arm

Response

Returns a Boolean

Arguments
Name Description
tickets - [String]! Array with ticket IDs
unloadArm - String! Conveyor arm ID

Example

Query
mutation UnloadTicketsOnMPArm(
  $tickets: [String]!,
  $unloadArm: String!
) {
  unloadTicketsOnMPArm(
    tickets: $tickets,
    unloadArm: $unloadArm
  )
}
Variables
{
  "tickets": ["abc123"],
  "unloadArm": "xyz789"
}
Response
{"data": {"unloadTicketsOnMPArm": false}}

updateHoliday

Description

Update or Create a holiday (set it open, closed or no delivery) Requires access level: Sr Manager

Response

Returns a Holiday!

Arguments
Name Description
id - ID! Id of the holiday to update
input - HolidayInput! The holiday data to update

Example

Query
mutation UpdateHoliday(
  $id: ID!,
  $input: HolidayInput!
) {
  updateHoliday(
    id: $id,
    input: $input
  ) {
    id
    localId
    date
    noProduction
    noDelivery
    dayOfWeek
  }
}
Variables
{
  "id": "4",
  "input": HolidayInput
}
Response
{
  "data": {
    "updateHoliday": {
      "id": "4",
      "localId": "4",
      "date": "abc123",
      "noProduction": false,
      "noDelivery": true,
      "dayOfWeek": "abc123"
    }
  }
}

updatePhoto

Description

Updates an existing photo's description

Response

Returns a Photo

Arguments
Name Description
input - UpdatePhotoInput!

Example

Query
mutation UpdatePhoto($input: UpdatePhotoInput!) {
  updatePhoto(input: $input) {
    id
    localId
    status
    thumbnailUrl
    smallUrl
    largeUrl
    description
  }
}
Variables
{"input": UpdatePhotoInput}
Response
{
  "data": {
    "updatePhoto": {
      "id": 4,
      "localId": 4,
      "status": "xyz789",
      "thumbnailUrl": "xyz789",
      "smallUrl": "xyz789",
      "largeUrl": "xyz789",
      "description": "xyz789"
    }
  }
}

updateSettings

Description

Update settings, global to the business or a scope such as brand, group or customer. Returns a list of messages for user display.

Response

Returns [String]

Arguments
Name Description
nodeId - ID! Id of the node to update a setting for (a customer, business etc)
input - SettingsInput! the settings to update

Example

Query
mutation UpdateSettings(
  $nodeId: ID!,
  $input: SettingsInput!
) {
  updateSettings(
    nodeId: $nodeId,
    input: $input
  )
}
Variables
{
  "nodeId": "4",
  "input": SettingsInput
}
Response
{"data": {"updateSettings": ["xyz789"]}}

validateAddress

Description

Validates an address.

Response

Returns a CustomerAddress

Arguments
Name Description
input - AddressValidationInput! An address to validate

Example

Query
mutation ValidateAddress($input: AddressValidationInput!) {
  validateAddress(input: $input) {
    id
    localId
    name
    streetAddress
    streetAddress2
    city
    state
    zip
    country
    latitude
    longitude
    skipVerification
    manualLocation
    note
    photo {
      id
      localId
      status
      thumbnailUrl
      smallUrl
      largeUrl
      description
    }
  }
}
Variables
{"input": AddressValidationInput}
Response
{
  "data": {
    "validateAddress": {
      "id": 4,
      "localId": "4",
      "name": "abc123",
      "streetAddress": "abc123",
      "streetAddress2": "abc123",
      "city": "xyz789",
      "state": "abc123",
      "zip": "abc123",
      "country": "xyz789",
      "latitude": "xyz789",
      "longitude": "abc123",
      "skipVerification": false,
      "manualLocation": true,
      "note": "xyz789",
      "photo": Photo
    }
  }
}

validateCustomerCredentials

Description

validate customer email and password.

Response

Returns a Customer

Arguments
Name Description
input - ValidateCustomerCredentialsInput! Customer Credentials (email & password) to validate

Example

Query
mutation ValidateCustomerCredentials($input: ValidateCustomerCredentialsInput!) {
  validateCustomerCredentials(input: $input) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{"input": ValidateCustomerCredentialsInput}
Response
{
  "data": {
    "validateCustomerCredentials": {
      "id": 4,
      "localId": "4",
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": [4],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "abc123",
      "authenticatedCustomerSiteLink": "xyz789",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 123,
      "apiTokenForCustomer": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "xyz789",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "abc123",
      "firstName": "abc123",
      "lastName": "abc123",
      "companyName": "xyz789",
      "fullName": "abc123",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": false,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

validateCustomerKioskCredentials

Description

Validate customer phone and kiosk access code.

Response

Returns a Customer

Arguments
Name Description
phone - String! A customer phone number
accessCode - String! A customer kiosk access code

Example

Query
mutation ValidateCustomerKioskCredentials(
  $phone: String!,
  $accessCode: String!
) {
  validateCustomerKioskCredentials(
    phone: $phone,
    accessCode: $accessCode
  ) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{
  "phone": "abc123",
  "accessCode": "xyz789"
}
Response
{
  "data": {
    "validateCustomerKioskCredentials": {
      "id": "4",
      "localId": "4",
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "preferences": ["4"],
      "goodOnlineAccountStanding": false,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "xyz789",
      "authenticatedCustomerSiteLink": "xyz789",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": false,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 987,
      "demographic": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "xyz789",
      "email": "abc123",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "abc123",
      "homePhone": "xyz789",
      "activePhone": "xyz789",
      "firstName": "abc123",
      "lastName": "abc123",
      "companyName": "abc123",
      "fullName": "xyz789",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": false,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

validatePhoneAndSendKioskSMSCode

Description

Checks if customer exists and sends SMS with login code.

Response

Returns a Boolean

Arguments
Name Description
phone - String! A customer phone number

Example

Query
mutation ValidatePhoneAndSendKioskSMSCode($phone: String!) {
  validatePhoneAndSendKioskSMSCode(phone: $phone)
}
Variables
{"phone": "abc123"}
Response
{"data": {"validatePhoneAndSendKioskSMSCode": true}}

verifyCustomerSigninSMSCode

Description

Called after the signinCustomerWebsite mutation to signup or signin to the customer facing web app

Response

Returns a Customer

Arguments
Name Description
customerId - String! The ID of the customer to sign in
code - String! The verification code received by SMS

Example

Query
mutation VerifyCustomerSigninSMSCode(
  $customerId: String!,
  $code: String!
) {
  verifyCustomerSigninSMSCode(
    customerId: $customerId,
    code: $code
  ) {
    id
    localId
    name
    futureAppointments {
      id
      localId
      startTime
      endTime
      timeSlot {
        ...TimeSlotFragment
      }
      scheduledBy {
        ...ActorFragment
      }
      scheduledAt
      route {
        ...RouteFragment
      }
      driverInstructions
      cleaningInstructions
      departments {
        ...FinancialDepartmentFragment
      }
      customer {
        ...CustomerFragment
      }
      address {
        ...CustomerAddressFragment
      }
      driver {
        ...UserFragment
      }
      regular
      anytime
      status
      appointmentLinkId
      photos {
        ...PhotoFragment
      }
      lockerCode
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      welcomeNewCustomerCampaign {
        ...WelcomeNewCustomerCampaignFragment
      }
      thankYouCampaign {
        ...ThankYouCampaignFragment
      }
      arPastDueCampaign {
        ...ArPastDueCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      businessName
      dateFormat
      countryCode
      timeZone
      locale
      contactAddressLine
      contactAddressState
      contactAddressCity
      contactAddressZip
      contactPhone
      logoUrl
      noProductionDays
      noDeliveryDays
      specialHolidays
      openDetailingWithCategory
      customerFacingDomain
      customSignupUrl
      contactEmail
      twilioAccountSid
      twilioAuthToken
      twilioPhone
      twilioPhoneLookup
      whatsAppEnabled
      sendSmsOptOutInformation
      userNameOnEmailSubject
      payableEntity
      emailFooter
      lockerBuildingCode
      communicationTemplatesId
      vcardTemplate
      newPickupScheduledInstructions
      sendAutomatedMessages
      sendStatementEmails
      signupEmailRequired
      signupGroupRequired
      signupAutofillCity
      signupAddressRequired
      signupPhoneRequired
      signupCardRequired
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      showSubRouteForDeliveryStop
      genericLaundryBagMode
      rushNotificationsHour
      websiteDisplayText
      shouldShowWebsiteOnReceipts
      showAgentOnBagTag
      assemblyEvenOnly
      voiceAssemblyEnabled
      inspectPriceAtAssembly
      assemblyPrintFinancialReceiptForDeliveryCustomer
      assemblyAlwaysPrintFinancialReceipt
      printFinancialTicketOutsideAssembly
      keepRackAssignmentOnOrderSplit
      complexLotControl
      overrideDueDateWithNextDelivery
      autoSelectDeliveryReturnLocation
      defaultDetailingTab
      autoOpenAnnotationType
      requireInvoiceInDetailing
      displayTooManyDetailedItemsWarning
      assemblyIcon
      alignAssemblyIcon
      newCustomerTicketIcon
      newCustomerBottomTicketIcon
      customerNameOnTicketBottom
      pieceCountOnTicketBottom
      customerPhoneOnTicket
      showRoomInfoBelowAddress
      laundryLicense
      summarizedItemTable
      showLogoOnReceipts
      logoOnReceiptHeight
      receiptLogoName
      showPriceOnAssembly
      paymentReceiptShowSignatureLine
      receiptsNameShort
      newLocationOnTicket
      showRouteOfSameDayDelivery
      itemDetailsOnTicket
      itemDetailsOnOrderReceipt
      newOrderPrintCount
      printRetailReceipts
      printDropTicketOnOrderSplit
      printTicketOnOrderCloseCount
      noStoreContactInfoOnReceipts
      noPricingOnOrderReceipts
      receiptsFooter
      thermalReceiptFooter
      ticketReceiptFooter
      showEmailOnReceipts
      showWebsiteOnReceipts
      invoicePayableLine
      invoiceTerms
      isRestorationAccount
      offerDemandDelivery
      autoAddNewCustomerToWillCallRoute
      groupItemDetailsByRoomNumber
      merchantBatchCloseTime
      saveCardsOnFile
      amexSeparately
      maxAutopayAmount
      autopayTerms
      autopayStatements
      autopayBatchStrategy
      invoiceDueDays
      consolidateInvoiceItemDetails
      invoiceShowOrderDetails
      invoiceHideOrderInfo
      showDateOnStatement
      callStatementInvoice
      activitySummaryEnabled
      attachPDFInStatementEmails
      rewardsProgramEnabled
      rewardsPointModifier
      rewardsCurrencyModifier
      rewardsConversionRequirement
      rewardsRedeemAutomatically
      rewardsEmailRequired
      rewardsPhoneRequired
      rewardsAddressRequired
      rewardsCreditCardRequired
      welcomeNotificationDisabled
      autoTicketOnCustomerRegistration
      autoTicketOnScheduledDelivery
      sendCustomerUpdatedCCNotification
      allowScheduleBothPickupAndDelivery
      limitScheduleDeliveryToClosestRoute
      allowRouteRegularCustomersToScheduleOnDemand
      allowSameDaySchedulingEvenIfRouteStarted
      experimentalPhotoUserExperienceOnWebsiteScheduler
      priceListUpdateOrdersCondition
      routeAgentPriority
      commonOrdersAgent
      isMailOrderPickups
      lockerDropBinPickupMode
      showYesRepliesInComm
      autoReplyToYesRepliesInComm
      customerWebsiteClothesTrackerTabEnabled
      customerWebsiteWardrobeTabEnabled
      customerWebsitePaymentTabEnabled
      metalprogettiAssemblyLabelTemplate
      metalprogettiSendRackSpaceToStorage
      sendNewOrderNotificationOnEveryVisit
      includeReceiptInNewOrderNotification
      printTempTagsForBarcodedItems
      alwaysGenerateTemporaryBarcodes
      zebraPrinterTemplate
      epsonPrinterTemplate
      forceOnlyBagFieldInput
      detailingWithoutBarcodes
      printLabelsWhenDuplicating
      metalprogettiStripCharacters
      autoDetailingEnabled
      minItemBarcodeLength
      maxItemBarcodeLength
      quotesDeletionTimeFrame
      minWashNFoldPrice
      minWashNFoldWeight
      washAndFoldWeightStations
      departmentSpecificOrdersEnabled
      manualPickupRestricted
      displayDueDateInProductionModules
      filterDetailingByItemTypes
      automaticallyFilterReportsToEmployeesStore
      payrollPeriod
      payrollLastCloseDate
      payrollFirstHalfCloseDate
      payrollLastHalfCloseDate
      payrollCloseDate
      workweekStart
      hoursUntilWeeklyOvertime
      hoursUntilDailyOvertime
      hoursUntilDailyDoubleTime
      hoursUntilWeeklyNotification
      hoursUntilDailyNotification
      preventClockInBeforeTime
      californiaOvertimeRules
      promptForClockInOnLogin
      overrideTimeClockWithUserDepartment
      allowMobileAppClockIn
      disableOverTimeNotifications
      overnightClockOut
      inventorySystemEnabled
      inventorySystemEnabledProduction
      permissionManageSystemSettings
      permissionManageMarketing
      permissionManageStationSettings
      permissionAccessCustomerCredits
      permissionAddCustomerDiscount
      permissionAccessCustomerModule
      permissionAccessDeliveryModule
      permissionAccessAssemblyModule
      permissionAccessSpottingModule
      permissionAccessAlterAndRepairModule
      permissionAccessAccountsReceivableModule
      permissionAccessPressingModule
      permissionAccessPriceListModule
      permissionAccessCashBoxModule
      permissionAccessTimeclockModule
      permissionAccessPerformanceModule
      permissionAccessWashAndFoldModule
      permissionAccessInspectionModule
      permissionAccessItemBaggingModule
      permissionAccessFoldingAndBaggingModule
      permissionAccessMessagesModule
      permissionAccessRackingModule
      permissionAccessRouteManagerModule
      permissionAccessReportsModule
      permissionAccessAdminReportsModule
      permissionAccessIssueTrackerModule
      permissionAccessSupportModule
      permissionAccessEmployeeSettingsModule
      permissionAccessBulkMarkinModule
      permissionManualPriceEdits
      permissionSpecialCareAfterOrderClose
      permissionResetOrder
      permissionRemoveItems
      showStrikeThroughWhenReturned
      usePieceCountTotalsOnTicket
      taxHeaderString
      includeTaxInPrice
      dropDateOnAssemblyTicket
      displayDepartmentOnTicket
      displayCategoryOnTicket
      displayPriceOnPickupSlip
      useStoreSpecificOrderSequenceNumbers
      showStoreSpecificOrderNumberOnTop
      saleItemLedgerTrackingEnabled
      inOnboarding
      noCcCustomerText
      pickupReminderOfferCancellations
      pickupReminderEnabledForInactiveCustomers
      offersRetailDelivery
      regRouteQuestionChecked
      pickupReminderHour24
      pickupReminderIncludeDeliveries
      deliveryCompleteConfirmation
      defaultCustomerPaymentType
      promptOnCardAvsFailure
      minCardChargeAmount
      defaultCustomerPriceList
      cardSurcharging
      cardSurchargeFixedPercentage
      organizationNumber
      fullstoryEnabled
      initializedInferred
      cashBoxMode
      cashBoxModeProduction
      displayExtendedStationReceiptInfo
      displayExtendedZReportInfo
      twilioMarketingNumber
      marketingEnabled
      defaultLanguage
    }
    group {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      hasOwnAgent
      isGroupStop
      isMasterBilling
      customers {
        ...CustomerFragment
      }
    }
    agent {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    routeHolds {
      id
      localId
      startDate
      endDate
    }
    driverInstructions
    preferences
    goodOnlineAccountStanding
    addresses {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    defaultAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    creditCardIFrameURL
    authenticatedCustomerSiteLink
    creditCard {
      id
      localId
      type
      last4
      expm
      expy
      status {
        ...CreditCardStatusFragment
      }
    }
    datesForSchedulingAppointment {
      id
      localId
      date
      timeSlots {
        ...TimeSlotFragment
      }
    }
    unpaidOrders {
      id
      localId
      orders {
        ...OrderFragment
      }
      duePayment {
        ...DuePaymentFragment
      }
    }
    finishedPayments {
      id
      localId
      total
      date
      receiptLink
    }
    customerBookings {
      id
      localId
      pickupAppointment {
        ...AppointmentFragment
      }
      deliveryAppointment {
        ...AppointmentFragment
      }
      detailedCustomerOrder {
        ...DetailedCustomerOrderFragment
      }
      orders {
        ...OrderFragment
      }
      pickupDateDisplay
      deliveryDateDisplay
      pickupDateTitle
      deliveryDateTitle
      statusText
      status
      progress
      bookingDate
      lockerId
      lockerLabel
    }
    stagingDetailedCustomerOrder {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    readyBags {
      id
      localId
      barcode
      display
      order {
        ...OrderFragment
      }
      location {
        ...RackLogFragment
      }
    }
    isRouteCustomer
    customerRelationship
    deliveryStop
    demographic
    apiTokenForCustomer
    activePromotions {
      id
      localId
      name
      couponCode
      customerCouponCode
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    kioskAccessCode
    email
    cellPhone
    cellPhoneDisplay
    homePhone
    activePhone
    firstName
    lastName
    companyName
    fullName
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    customFields {
      id
      localId
      label
      value
    }
    isInSignupProcess
    paymentStatus {
      id
      localId
      paymentReference
      paymentStatus
    }
    wardrobeCategories {
      id
      localId
      name
      sort
      description
      disabled
      isRetail
    }
    wardrobeItems {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    paymentPreference
    rewardPoints
    rewards {
      id
      localId
      date
      amount
      status
      expiryDate
      redeemDate
    }
    missingRewardSettingCriteria
  }
}
Variables
{
  "customerId": "xyz789",
  "code": "xyz789"
}
Response
{
  "data": {
    "verifyCustomerSigninSMSCode": {
      "id": "4",
      "localId": "4",
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": [4],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "creditCardIFrameURL": "abc123",
      "authenticatedCustomerSiteLink": "abc123",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": false,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "xyz789",
      "email": "xyz789",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "xyz789",
      "activePhone": "xyz789",
      "firstName": "abc123",
      "lastName": "abc123",
      "companyName": "xyz789",
      "fullName": "xyz789",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 123.45,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
    }
  }
}

verifyTextSignIn

Description

Verifies the code sent to user from startTextSignIn mutation and signs in or signs up a customer by phonenumber

Response

Returns a SignInTextStatusEnum

Arguments
Name Description
phoneNumber - String! The active phone number of the customer to sign in or register
code - String! The verification code received by SMS
customerFields - SignUpCustomerFields Values set to the customer upon registration

Example

Query
mutation VerifyTextSignIn(
  $phoneNumber: String!,
  $code: String!,
  $customerFields: SignUpCustomerFields
) {
  verifyTextSignIn(
    phoneNumber: $phoneNumber,
    code: $code,
    customerFields: $customerFields
  )
}
Variables
{
  "phoneNumber": "xyz789",
  "code": "abc123",
  "customerFields": SignUpCustomerFields
}
Response
{"data": {"verifyTextSignIn": "LOGIN_SUCCEEDED"}}

Types

Actor

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the actor
Possible Types
Actor Types

Bot

User

Customer

Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123"
}

AddressValidationInput

Description

An address to validate

Fields
Input Field Description
streetAddress - String! Street address
streetAddress2 - String Street address line 2
city - String! City
state - String! State
zip - String! Zip
Example
{
  "streetAddress": "xyz789",
  "streetAddress2": "abc123",
  "city": "xyz789",
  "state": "abc123",
  "zip": "xyz789"
}

Agent

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the Agent
agentId - ID Unique identifier for the Agent. Can be null for a Group, if the group is not an agent.
agentType - String The type of Agent. One of "Store", "Route" or "Group". Can be null for a Group, if the group is not an agent.
isStripeEnabled - Boolean If an agent is Stripe enabled
merchant - Merchant The merchant for the agent
Possible Types
Agent Types

Store

Route

Group

Example
{
  "id": "4",
  "localId": "4",
  "name": "abc123",
  "agentId": 4,
  "agentType": "xyz789",
  "isStripeEnabled": true,
  "merchant": Merchant
}

AlertSubType

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
masterTypeId - ID! ID of the master Alert Type
name - String! Name of the Sub Type
prefTicket - Boolean!
prefCustomer - Boolean!
prefDelivery - Boolean!
prefPressing - Boolean!
prefInspection - Boolean!
prefSpotting - Boolean!
prefAlteration - Boolean!
prefWashing - Boolean!
mpOffloadArm - String
active - Boolean!
Example
{
  "id": 4,
  "localId": 4,
  "masterTypeId": 4,
  "name": "xyz789",
  "prefTicket": false,
  "prefCustomer": true,
  "prefDelivery": true,
  "prefPressing": true,
  "prefInspection": false,
  "prefSpotting": true,
  "prefAlteration": true,
  "prefWashing": false,
  "mpOffloadArm": "xyz789",
  "active": false
}

AlertSubTypeInput

Description

Defines an Alert Sub Type

Fields
Input Field Description
id - ID Only required for existing entries
masterTypeId - ID! ID of the master Alert Type
name - String! Name of the Sub Type.
prefTicket - Boolean
prefCustomer - Boolean
prefDelivery - Boolean
prefPressing - Boolean
prefInspection - Boolean
prefSpotting - Boolean
prefAlteration - Boolean
prefWashing - Boolean
mpOffloadArm - String
active - Boolean!
Example
{
  "id": 4,
  "masterTypeId": "4",
  "name": "abc123",
  "prefTicket": true,
  "prefCustomer": true,
  "prefDelivery": false,
  "prefPressing": false,
  "prefInspection": true,
  "prefSpotting": false,
  "prefAlteration": false,
  "prefWashing": true,
  "mpOffloadArm": "xyz789",
  "active": true
}

AlertType

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the special.
active - Boolean!
Example
{
  "id": "4",
  "localId": "4",
  "name": "xyz789",
  "active": false
}

Annotation

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
description - String! Optional user provided description
positionX - Int! Annotation x coordinate on image or outline
positionY - Int! Annotation y coordinate on image or outline
type - AnnotationTypeEnum! Type of annotation
Example
{
  "id": "4",
  "localId": "4",
  "description": "abc123",
  "positionX": 987,
  "positionY": 987,
  "type": "spot"
}

AnnotationInput

Description

Item Annotation provided by customer, such as a spot, damage or note.

Fields
Input Field Description
description - String Optional user provided description
x - Int! Annotation x coordinate on image or outline
y - Int! Annotation y coordinate on image or outline
type - AnnotationTypeEnum! Type of annotation
Example
{
  "description": "xyz789",
  "x": 123,
  "y": 987,
  "type": "spot"
}

AnnotationTypeEnum

Values
Enum Value Description

spot

damage

alteration

note

Example
"spot"

Appointment

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
startTime - DateTime! Start time of the appointment. For a business with only static routes, only the date is relevant.
endTime - DateTime! End time of the appointment.
timeSlot - TimeSlot! Time slot of the appointment.
scheduledBy - Actor! Who the appointment was scheduled by; the Customer, a Bot or a User (employee).
scheduledAt - DateTime! When the appointment was scheduled. For appointments scheduled by a bot, this may be in the middle of the night. This date is updated on edits of the appointment.
route - Route! The Delivery Route the appointment will/has run on.
driverInstructions - String Instructions for the driver
cleaningInstructions - String Instructions for cleaning
departments - [FinancialDepartment]! Financial departments if specified
customer - Customer! The customer the appointment belongs to.
address - CustomerAddress! The address for the appointment.
driver - User! The driver the appointment is assigned to (or who eventually completed the appointment.
regular - Boolean! Whether this appointment is a recurring event that was scheduled automatically.
anytime - Boolean! If an appointment is marked anytime, it can happen at any time during the day, and the startTime/endTime is not relevant.
status - AppointmentStatusEnum! The status of the appointment
appointmentLinkId - ID A random string linking multiple appointments together
photos - [Photo] Photos attached to this appointment
lockerCode - ID A locker code if available
vehicleStatus - DeliveryVehicleStatus Current status of the vehicle running this appointment. Will return null if outside the route time window, if the route hasn't started or if the pickup/delivery was completed
stopNumber - Int! The stop number
Example
{
  "id": 4,
  "localId": 4,
  "startTime": "2007-12-03T10:15:30Z",
  "endTime": "2007-12-03T10:15:30Z",
  "timeSlot": TimeSlot,
  "scheduledBy": Actor,
  "scheduledAt": "2007-12-03T10:15:30Z",
  "route": Route,
  "driverInstructions": "xyz789",
  "cleaningInstructions": "abc123",
  "departments": [FinancialDepartment],
  "customer": Customer,
  "address": CustomerAddress,
  "driver": User,
  "regular": false,
  "anytime": false,
  "status": "incomplete",
  "appointmentLinkId": "4",
  "photos": [Photo],
  "lockerCode": 4,
  "vehicleStatus": DeliveryVehicleStatus,
  "stopNumber": 987
}

AppointmentInput

Description

Create or update an appointment

Fields
Input Field Description
id - ID Only required for existing entries
addressId - String! ID of the address to pickup from or deliver to
customerId - String! ID of the customer
selectedDate - Int! Selected date (day in month)
selectedMonth - Int! Selected month (1-12)
selectedYear - Int! Selected year
timeSlotId - String! ID of the selected time slot. Set -1 if no time slot is selected (anytime will be set to true)
routeId - String! ID of the route associated with the selected time slot.
driverInstructions - String Instructions for the driver. 2500 character limit.
cleaningInstructions - String Instructions for cleaning. 2500 character limit.
departmentIds - [String] A list of financial department IDs
appointmentLinkId - ID A random string linking multiple appointments together
photoIds - [ID] A list of photo IDs to attach to the appointment
putPhotos - [PhotoInput] A list of photos to upload
updatePhotos - [UpdatePhotoInput] A list of photos to update
regular - Boolean If the appointment is regular
lockerCode - ID A locker code if available
Example
{
  "id": "4",
  "addressId": "abc123",
  "customerId": "abc123",
  "selectedDate": 987,
  "selectedMonth": 123,
  "selectedYear": 987,
  "timeSlotId": "xyz789",
  "routeId": "abc123",
  "driverInstructions": "xyz789",
  "cleaningInstructions": "abc123",
  "departmentIds": ["xyz789"],
  "appointmentLinkId": "4",
  "photoIds": [4],
  "putPhotos": [PhotoInput],
  "updatePhotos": [UpdatePhotoInput],
  "regular": true,
  "lockerCode": 4
}

AppointmentStatusEnum

Values
Enum Value Description

incomplete

missedByDriver

missedByCustomer

completed

Example
"incomplete"

ArPastDueCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
dayToSend - Int! The day of the month to send the message
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": "4",
  "localId": "4",
  "enabled": false,
  "priority": "xyz789",
  "customerKpiId": "xyz789",
  "dayToSend": 123,
  "email": "abc123",
  "sms": "abc123"
}

ArPastDueCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
dayToSend - Int! The day of the month to send the message
Example
{
  "enabled": false,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "xyz789",
  "dayToSend": 123
}

AutomaticSurcharge

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
surchargeId - ID ID of the surcharge
conditions - [AutomaticSurchargeCondition] The conditions of the automatic surcharge
Example
{
  "id": "4",
  "localId": 4,
  "surchargeId": 4,
  "conditions": [AutomaticSurchargeCondition]
}

AutomaticSurchargeCondition

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
type - String! Condition type
count - String The count of the condition
dateFilter - String Definition of the date filter
value - Boolean The value of the condition
Example
{
  "id": "4",
  "localId": "4",
  "type": "abc123",
  "count": "abc123",
  "dateFilter": "xyz789",
  "value": true
}

AutomaticSurchargeConditionInput

Description

Create or update an automatic surcharge condition

Fields
Input Field Description
type - String! Condition type
count - String The count of the condition
dateFilter - String Definition of the date filter
value - Boolean The value of the condition
Example
{
  "type": "xyz789",
  "count": "abc123",
  "dateFilter": "xyz789",
  "value": false
}

AutomaticSurchargeInput

Description

Create or update an automatic surcharge

Fields
Input Field Description
surchargeId - ID ID of the surcharge
conditions - [AutomaticSurchargeConditionInput] The conditions of the automatic surcharge
Example
{
  "surchargeId": 4,
  "conditions": [AutomaticSurchargeConditionInput]
}

Boolean

Description

The Boolean scalar type represents true or false.

Bot

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the actor
Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123"
}

Brand

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Identifying name of the brand, not necessarily for display to Customers. Use settings.name to get what branding name should be displayed to the user instead.
brandId - String! Locally identifying id of the brand
settings - Settings! Settings for this brand.
agents - [Agent]! Agents for this brand.
Example
{
  "id": "4",
  "localId": "4",
  "name": "xyz789",
  "brandId": "abc123",
  "settings": Settings,
  "agents": [Agent]
}

BrandInput

Description

Create / Update a brand

Fields
Input Field Description
id - ID Brand identifier
name - String! Identifying name of the brand, not necessarily for display to Customers. Use settings.name to get what branding name should be displayed to the user instead.
agents - [String]! Agents for this brand.
Example
{
  "id": 4,
  "name": "xyz789",
  "agents": ["xyz789"]
}

Business

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of Business_subdomain
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
shortId - Int! Short integer identifier, for example, SF Green Clean has '1'. This identifier is a part of all other Node identifiers pertaining to this business. For example, a Customer may have id 'Customer_1_1234' at SF Green Clean.
subdomain - String! Business subdomain of smrtapp.com, e.g sfgc. Also part of the primary business.
settings - Settings! Global Business Settings
employeeSettings - Settings! Global Employee Settings
stores - [Store]! Physical Stores
storesForCurrentBrand - [Store]! Physical Stores associated with the currently signed in customer based on their agent/brand
communicationTemplatesList - [CommunicationTemplates]! All CommunicationTemplates
employees - [User]! All Employees
routes - [Route]! Delivery Routes
groups - [Group]! Customer Groups
notes - [Note]! Query for notes
Arguments
customerId - ID

Filter by a specific customer (Customer_x_y)

agentId - String

Filter by a specific agent (Agent_x_y)

alertType - String

ISSUE or NOTE

mainCategory - String

Filter by main category

subCategory - String

Filter by sub category

status - String

Filter by note status

closed - Boolean

Get notes marked closed

userId - String

Filter by created by

assigneeId - String

Filter by assigned employee or UNASSIGNED

saleId - String

Filter by a specific sale

itemId - String

Filter by a specific item

insertDate - DateRange

Filter by date reported

lastUpdated - DateRange

Filter by last updated

dueDate - DateRange

Filter by due date

brands - [Brand]! If a business has multiple brands (usually operating stores with different brand names), those are included here.
agents - [Agent]! All agents associated with the business
holidays - [Holiday]! Chronological list of all current holidays
itemCategories - [ItemCategory]! All Item categories
itemTypes - [ItemType]! All Item types
subscriptions - [ItemType]! All Subscription types
taxRates - [TaxRate]! Tax rates by department, optionally for a specific customer
Arguments
customerId - String
paymentMethods - [PaymentMethod]! All POS Payment Methods
taxConfigurationRules - [TaxConfigurationRule]! Tax configuration rules
itemValidationRules - [ItemValidationRule]! A list of item validation rules
itemFields - [ItemField]! A list of item fields
financialDepartments - [FinancialDepartment]! A list of financial departments
specialCares - [SpecialCare]! A list of special cares (a.k.a. descriptors or upcharges)
alertTypes - [AlertType]! All Alert Types
alertSubTypes - [AlertSubType]! All Alert Sub Types
chatRooms - [ChatRoom]! A list of all public chat rooms
customerFields - [CustomerField]! A list of configured customer fields
Arguments
visibilityFlags - [CustomerFieldConfigurationVisibilityEnum!]

Limits the list of configured fields to match visibility flags

usesPaymentSystem - Boolean
getCustomer - Customer
Arguments
by - GetCustomerFieldEnum!

Customer field to match

term - String!

Search term

includeInactive - Boolean

Defaults to false

getCustomers - [Customer]!
Arguments
by - GetCustomersFieldEnum!

Customer field to match

term - String!

Search term

includeInactive - Boolean

Defaults to false

limit - Int

Defaults to 5000

offset - Int

Results offset

getOrder - Order
Arguments
id - ID!

ID of the order

getAppointment - Appointment A pickup or delivery appointment by ID
Arguments
id - ID!

The ID of a pickup or delivery appointment

queryReports - QueryReportsResult!
Arguments
query - String!

The query as an escaped JSON string

page - Int

Defaults to 1

limit - Int

Limit number of rows per page. Defaults to 15

productionStationStatistics - ProductionStationStatistics!
Arguments
employeeId - ID!
productionStationType - ProductionStationTypeEnum!
merchants - [Merchant]! A list of merchants
surcharges - [Surcharge]! A list surcharges
customPriceLists - [PriceList]! List of price lists
marketingEmailTemplates - [MarketingEmailTemplate]! A list of email templates
marketingBroadcasts - [MarketingBroadcast]! A list of broadcasts
marketingBroadcastFilters - [MarketingBroadcastFilterResponse]! A list of broadcast filters
stripePublishableKey - String! Stripe Publishable Key
lockers - [Locker]! A list of lockers
Example
{
  "id": "4",
  "localId": 4,
  "shortId": 123,
  "subdomain": "abc123",
  "settings": Settings,
  "employeeSettings": Settings,
  "stores": [Store],
  "storesForCurrentBrand": [Store],
  "communicationTemplatesList": [CommunicationTemplates],
  "employees": [User],
  "routes": [Route],
  "groups": [Group],
  "notes": [Note],
  "brands": [Brand],
  "agents": [Agent],
  "holidays": [Holiday],
  "itemCategories": [ItemCategory],
  "itemTypes": [ItemType],
  "subscriptions": [ItemType],
  "taxRates": [TaxRate],
  "paymentMethods": [PaymentMethod],
  "taxConfigurationRules": [TaxConfigurationRule],
  "itemValidationRules": [ItemValidationRule],
  "itemFields": [ItemField],
  "financialDepartments": [FinancialDepartment],
  "specialCares": [SpecialCare],
  "alertTypes": [AlertType],
  "alertSubTypes": [AlertSubType],
  "chatRooms": [ChatRoom],
  "customerFields": [CustomerField],
  "usesPaymentSystem": true,
  "getCustomer": Customer,
  "getCustomers": [Customer],
  "getOrder": Order,
  "getAppointment": Appointment,
  "queryReports": QueryReportsResult,
  "productionStationStatistics": ProductionStationStatistics,
  "merchants": [Merchant],
  "surcharges": [Surcharge],
  "customPriceLists": [PriceList],
  "marketingEmailTemplates": [MarketingEmailTemplate],
  "marketingBroadcasts": [MarketingBroadcast],
  "marketingBroadcastFilters": [
    MarketingBroadcastFilterResponse
  ],
  "stripePublishableKey": "abc123",
  "lockers": [Locker]
}

CardSurcharge

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
buyPrice - Float! The total price of the surcharge
taxAmount - Float! The tax of the surcharge
taxableAmount - Float! The total price of the surcharge before tax
Example
{
  "id": 4,
  "localId": "4",
  "buyPrice": 123.45,
  "taxAmount": 123.45,
  "taxableAmount": 987.65
}

ChatMessage

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
roomId - String!
userId - String!
text - String! The message content
createDate - String! Message timestamp in iso8106 with milliseconds
Example
{
  "id": 4,
  "localId": "4",
  "roomId": "xyz789",
  "userId": "xyz789",
  "text": "xyz789",
  "createDate": "xyz789"
}

ChatRoom

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String
specialRoomType - String
isPrivate - Boolean!
userIds - [ID]!
agents - [ID]!
usersAllowedToPost - [ID]
isNotificationsRoom - Boolean!
isRequired - Boolean!
chatMessages - [ChatMessage]!
Arguments
limit - Int
skip - Int
Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123",
  "specialRoomType": "abc123",
  "isPrivate": false,
  "userIds": ["4"],
  "agents": ["4"],
  "usersAllowedToPost": ["4"],
  "isNotificationsRoom": false,
  "isRequired": false,
  "chatMessages": [ChatMessage]
}

ChatRoomInput

Description

Create or update a chat channel

Fields
Input Field Description
id - ID Only required for existing entries
name - String! Name of the room. Optional for private rooms
agents - [ID] A list of agent ids to use when routing messages
userIds - [ID]! A list of global user ids that have access to the room.
isPrivate - Boolean True if the room is private. Only admins can manage public rooms.
isNotificationsRoom - Boolean True if the room is a hardcoded room for notifications.
isRequired - Boolean If true the room cannot be deleted or modified by an admin
usersAllowedToPost - [String] A list of global user ids that may post to this room. Everyone can post if null
isArchived - Boolean Set to true to soft delete the room
Example
{
  "id": "4",
  "name": "abc123",
  "agents": [4],
  "userIds": [4],
  "isPrivate": true,
  "isNotificationsRoom": false,
  "isRequired": true,
  "usersAllowedToPost": ["xyz789"],
  "isArchived": false
}

Color

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Color name (e.g Blue)
hex - String! Color name (e.g Blue)
isDark - Boolean! whether color is considered "dark"
Example
{
  "id": "4",
  "localId": "4",
  "name": "abc123",
  "hex": "abc123",
  "isDark": false
}

CommunicationTemplates

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String Name of the communication template list
Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123"
}

CreatePaymentInput

Description

Input type for creating a payment

Fields
Input Field Description
orderIds - [String]! Orders to pay for
Example
{"orderIds": ["xyz789"]}

CreditCard

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
type - CreditCardTypeEnum! The brand/type of the credit card.
last4 - String! The last 4 digits.
expm - String! Month of expiration
expy - String! Year of expiration
status - CreditCardStatus! The status of the card
Example
{
  "id": 4,
  "localId": 4,
  "type": "visa",
  "last4": "xyz789",
  "expm": "abc123",
  "expy": "abc123",
  "status": CreditCardStatus
}

CreditCardAddedByEnum

Values
Enum Value Description

customer

employee

Example
"customer"

CreditCardStatus

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
type - CreditCardStatusTypeEnum! Credit card status type
message - String Credit card status message
Example
{
  "id": "4",
  "localId": "4",
  "type": "ACTIVE",
  "message": "abc123"
}

CreditCardStatusTypeEnum

Values
Enum Value Description

ACTIVE

NEAR_EXPIRY

EXPIRED

DECLINED

INVALID

DEPRECATING

DEPRECATED

Example
"ACTIVE"

CreditCardTypeEnum

Values
Enum Value Description

visa

mastercard

amex

discover

unknown

Example
"visa"

Customer

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the actor
futureAppointments - [Appointment]! Chronological list of all future appointments with the customer. This includes both pickup and delivery requests.
settings - Settings! Settings specific to the customer. Also includes all global business settings. Please see Settings documentation for more information.
group - Group A customer may be part of a customer group. See Group for more information
agent - Agent! The Sales agent the customer belongs to
routeHolds - [CustomerRouteHold]! Customer route holds
driverInstructions - String Standing driver instructions
preferences - [ID]! Customer preferences
goodOnlineAccountStanding - Boolean! Good online account standing
addresses - [CustomerAddress]! Customer addresses
defaultAddress - CustomerAddress Customer default address
creditCardIFrameURL - String! Customer credit card iframe URL. Parameter 'style' can be either 'payments' or 'profile'. Defaults to 'profile
Arguments
style - String
authenticatedCustomerSiteLink - String! Returns a link that takes the user straight into their customer portal, optionally define a specific target tab, which the user will land on.
Arguments
target - String
                        Possible targets include:
                                                                    p: Profile page,
                                                                    d: Pickup/delivery page,
                                                                    n: Next pickup delivery event on delivery page,
                                                                    ct: Clothestracker page,
                                                                    r: Rewards page,
                                                                    o: Trigger a 'On my Way' notification
                                                                    
                                            
creditCard - CreditCard Customer credit card.
datesForSchedulingAppointment - [ScheduleDate]! Available dates for scheduling an appointment
Arguments
addressId - ID
forDelivery - Boolean

Set to false if scheduling a pickup (default), true if scheduling a delivery

fromTimestamp - DateTime

An optional from timestamp as an ISO8601 string

routeId - ID

Pass a route ID if scheduling a future delivery appointment

unpaidOrders - UnpaidOrders Customer's unpaid orders
finishedPayments - [PaymentReceipt]! Customer's finished payments
customerBookings - [CustomerBooking!]! Customer bookings (appointments and orders)
stagingDetailedCustomerOrder - DetailedCustomerOrder The currently staged customer order not yet tied to an order or pickup
readyBags - [CustomerBag]! List of ready bags for the customer, yet to be picked up
isRouteCustomer - Boolean! True if the customer is assigned to a route
customerRelationship - CustomerRelationshipEnum! Describes the company-customer relationship
deliveryStop - Int Customer delivery stop
demographic - Int Customer demographic
apiTokenForCustomer - String!
                Create a JWT token for a specific customer (accessible by admins only).
                                                            This token is similar to a customer session cookie,
                                                            in that it only allows you to fetch information about the
                                                            specific customer (using query { currentCustomer }} )
                                                            The token expires after 24 hours
                                                        
                                            
activePromotions - [Promotion] Active Promotions
subscription - CustomerSubscription Subscription
kioskAccessCode - String A personal kiosk access code (auto-generated)
email - String Customer's primary email
cellPhone - String Customer's primary phone number
cellPhoneDisplay - String Customer's active phone number
homePhone - String Customer's secondary phone number
activePhone - String Customer's active phone number
firstName - String Customer's first name
lastName - String Customer's last name
companyName - String Company name
fullName - String Customer's full name
store - Store! The store this customer belongs to
customFields - [CustomerFieldValue]
                Custom field values. Visibility of each field is determined by the type of logged in user and how the field visibility
                                                            is configured. If signed in as a customer one of "Show in: Customer Website" or "Show In: Customer Website Signup"
                                                            must be enabled in the custom field's configuration for the field to be included in the returned data.
                                                        
                                            
isInSignupProcess - Boolean! True if the customer recently signed up using a phone number and still has a temporary account name
paymentStatus - PaymentStatus! Payment status
Arguments
paymentReference - String!

Payment reference

wardrobeCategories - [ItemCategory!]! Item categories for the customer wardrobe
wardrobeItems - [OrderItem!]! Items in the customers wardrobe
Arguments
category - String!

An item category

offset - Int

A pagination offset

limit - Int

A pagination limit, the maximum limit is 300

paymentPreference - PaymentPreferenceEnum! Payment preference
rewardPoints - Float! The customers reward points, from the reward system
rewards - [Reward]! Earned rewards
missingRewardSettingCriteria - [RewardSettingCriteriaEnum!]! Array of active reward criteria that customer does not meet. Returns an empty array if all criteria are met
Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123",
  "futureAppointments": [Appointment],
  "settings": Settings,
  "group": Group,
  "agent": Agent,
  "routeHolds": [CustomerRouteHold],
  "driverInstructions": "xyz789",
  "preferences": [4],
  "goodOnlineAccountStanding": true,
  "addresses": [CustomerAddress],
  "defaultAddress": CustomerAddress,
  "creditCardIFrameURL": "abc123",
  "authenticatedCustomerSiteLink": "abc123",
  "creditCard": CreditCard,
  "datesForSchedulingAppointment": [ScheduleDate],
  "unpaidOrders": UnpaidOrders,
  "finishedPayments": [PaymentReceipt],
  "customerBookings": [CustomerBooking],
  "stagingDetailedCustomerOrder": DetailedCustomerOrder,
  "readyBags": [CustomerBag],
  "isRouteCustomer": true,
  "customerRelationship": "STORE_ONLY",
  "deliveryStop": 987,
  "demographic": 987,
  "apiTokenForCustomer": "abc123",
  "activePromotions": [Promotion],
  "subscription": CustomerSubscription,
  "kioskAccessCode": "xyz789",
  "email": "xyz789",
  "cellPhone": "abc123",
  "cellPhoneDisplay": "abc123",
  "homePhone": "xyz789",
  "activePhone": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "companyName": "xyz789",
  "fullName": "xyz789",
  "store": Store,
  "customFields": [CustomerFieldValue],
  "isInSignupProcess": true,
  "paymentStatus": PaymentStatus,
  "wardrobeCategories": [ItemCategory],
  "wardrobeItems": [OrderItem],
  "paymentPreference": "AUTOPAY",
  "rewardPoints": 987.65,
  "rewards": [Reward],
  "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"]
}

CustomerAddress

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Address name
streetAddress - String! Street address
streetAddress2 - String Street address line 2
city - String! City
state - String! State
zip - String! Zip
country - String! Country
latitude - String Latitude
longitude - String Longitude
skipVerification - Boolean True if address verification was bypassed on last save.
manualLocation - Boolean True if latitude and longitude were edited manually.
note - String Customer provided description / directions for address.
photo - Photo Photo of address location
Example
{
  "id": "4",
  "localId": 4,
  "name": "abc123",
  "streetAddress": "abc123",
  "streetAddress2": "abc123",
  "city": "xyz789",
  "state": "abc123",
  "zip": "xyz789",
  "country": "xyz789",
  "latitude": "abc123",
  "longitude": "xyz789",
  "skipVerification": true,
  "manualLocation": false,
  "note": "abc123",
  "photo": Photo
}

CustomerAddressInput

Fields
Input Field Description
name - String! Address name
streetAddress - String! Street address
streetAddress2 - String Street address line 2
city - String! City
state - String! State
zip - String! Zip
latitude - String Latitude
longitude - String Longitude
skipVerification - Boolean Set to true if you want to skip address verification. Defaults to false.
manualLocation - Boolean Set to true if manually editing coordinates.
note - String Customer provided description / directions for address.
photoId - ID Reference to a new photo
Example
{
  "name": "xyz789",
  "streetAddress": "abc123",
  "streetAddress2": "abc123",
  "city": "xyz789",
  "state": "xyz789",
  "zip": "abc123",
  "latitude": "xyz789",
  "longitude": "abc123",
  "skipVerification": true,
  "manualLocation": false,
  "note": "abc123",
  "photoId": "4"
}

CustomerBag

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
barcode - String! Barcode (id) of the bag
display - String! ID of the bag, as it should be displayed to a user
order - Order! The order associated with this bag
location - RackLog Current location and scan event info of the ready bag (could be null)
Example
{
  "id": "4",
  "localId": "4",
  "barcode": "xyz789",
  "display": "xyz789",
  "order": Order,
  "location": RackLog
}

CustomerBooking

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
pickupAppointment - Appointment A pickup appointment if scheduled
deliveryAppointment - Appointment A delivery appointment if scheduled
detailedCustomerOrder - DetailedCustomerOrder Customer provided order details for this booking
orders - [Order!]! A list of orders created at POS for this booking
pickupDateDisplay - String A displayable pickup date/time if scheduled
deliveryDateDisplay - String A displayable delivery date/time if scheduled
pickupDateTitle - String A text describing the pickup date
deliveryDateTitle - String A text describing the delivery date
statusText - String! A displayable info text
status - CustomerBookingStatusEnum! The status of the booking
progress - Float! The progress of the booking (0.0-1.0)
bookingDate - DateTime! The booking date, derived from the first available date out of pickup date, order creation date, delivery date, or a detailed customer order.
lockerId - String The locker storage ID if the order(s) were delivered to a locker
lockerLabel - String The label of a specific locker the order(s) were delivered to
Example
{
  "id": "4",
  "localId": 4,
  "pickupAppointment": Appointment,
  "deliveryAppointment": Appointment,
  "detailedCustomerOrder": DetailedCustomerOrder,
  "orders": [Order],
  "pickupDateDisplay": "xyz789",
  "deliveryDateDisplay": "abc123",
  "pickupDateTitle": "abc123",
  "deliveryDateTitle": "abc123",
  "statusText": "abc123",
  "status": "ORDER_CONFIRMED",
  "progress": 123.45,
  "bookingDate": "2007-12-03T10:15:30Z",
  "lockerId": "abc123",
  "lockerLabel": "abc123"
}

CustomerBookingStatusEnum

Values
Enum Value Description

ORDER_CONFIRMED

ORDER_DROPPED_OFF

ORDER_PICKED_UP

CLEANING

READY_FOR_DELIVERY

READY_FOR_STORE_PICKUP

READY_DELIVERY_SCHEDULED

OUT_FOR_DELIVERY

DELIVERED

NO_STATUS

Example
"ORDER_CONFIRMED"

CustomerDeliveryPreferenceEnum

Values
Enum Value Description

NO_PREFERENCE

PENDING_APPROVAL

SCHEDULED

ADDRESS_UNDELIVERABLE

ANYTIME

APPOINTMENT

MASTER_SUB

Example
"NO_PREFERENCE"

CustomerField

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
fieldType - CustomerFieldTypeEnum! The type of the field
label - String!
possibleValues - [String]
shownProfile - Boolean!
shownPosSignUp - Boolean!
shownCustomerWebsite - Boolean!
shownCustomerWebsiteSignUp - Boolean!
elasticKey - String
disabled - Boolean
isRequired - Boolean Set to true to make it a required field when shown in the UI
Example
{
  "id": 4,
  "localId": 4,
  "fieldType": "text",
  "label": "abc123",
  "possibleValues": ["abc123"],
  "shownProfile": false,
  "shownPosSignUp": true,
  "shownCustomerWebsite": true,
  "shownCustomerWebsiteSignUp": true,
  "elasticKey": "abc123",
  "disabled": false,
  "isRequired": true
}

CustomerFieldConfigurationVisibilityEnum

Values
Enum Value Description

shown_profile

shown_pos_sign_up

shown_customer_website

shown_customer_website_sign_up

Example
"shown_profile"

CustomerFieldInput

Description

Defines a Customer Field Input Type

Fields
Input Field Description
id - String! A unique ID for this custom field
fieldType - CustomerFieldTypeEnum! The type of the field
label - String! The name of the field
possibleValues - [String] Values for select type field
shownProfile - Boolean! Display on customer profile in POS
shownPosSignUp - Boolean! Display at customer signup in POS
shownCustomerWebsite - Boolean! Display on customer website
shownCustomerWebsiteSignUp - Boolean! Display on customer website at signup
disabled - Boolean Set to true to disable the field
isRequired - Boolean Set to true to make it a required field when shown in the UI
Example
{
  "id": "abc123",
  "fieldType": "text",
  "label": "xyz789",
  "possibleValues": ["xyz789"],
  "shownProfile": true,
  "shownPosSignUp": false,
  "shownCustomerWebsite": true,
  "shownCustomerWebsiteSignUp": false,
  "disabled": false,
  "isRequired": true
}

CustomerFieldTypeEnum

Values
Enum Value Description

text

date

select

birthday

license_plate

Example
"text"

CustomerFieldValue

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
label - String The label/name of the field
value - String The field value
Example
{
  "id": 4,
  "localId": "4",
  "label": "xyz789",
  "value": "xyz789"
}

CustomerFieldValueInput

Description

Customer field to update

Fields
Input Field Description
id - String The ID of the custom field to update
value - String The value of the field
Example
{
  "id": "abc123",
  "value": "xyz789"
}

CustomerInput

Description

A customer to update

Fields
Input Field Description
email - String
phone - String
firstName - String
lastName - String!
password - String
customFields - [CustomerFieldValueInput] A list of custom field values
Example
{
  "email": "abc123",
  "phone": "xyz789",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "password": "abc123",
  "customFields": [CustomerFieldValueInput]
}

CustomerPreference

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the preference
Example
{"id": 4, "localId": 4, "name": "abc123"}

CustomerPreferenceSection

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
type - String! Type of the preference section
name - String! Name of the preference section
options - [CustomerPreference]! Available preferences in a section
Example
{
  "id": 4,
  "localId": "4",
  "type": "abc123",
  "name": "abc123",
  "options": [CustomerPreference]
}

CustomerRelationshipEnum

Values
Enum Value Description

STORE_ONLY

ROUTE_PENDING_APPROVAL

ROUTE_REJECTED

ROUTE_REGULAR

ROUTE_WILLCALL

ROUTE_WILLCALL_LOCKER

ROUTE_SUB_CUSTOMER

Example
"STORE_ONLY"

CustomerRouteHold

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
startDate - String! Start date of the hold, YYYY-MM-DD
endDate - String! End date of the hold, YYYY-MM-DD
Example
{
  "id": "4",
  "localId": "4",
  "startDate": "abc123",
  "endDate": "xyz789"
}

CustomerRouteHoldInput

Description

Create / Update a route hold

Fields
Input Field Description
id - ID Route hold id
startDate - String! Start date of the hold, YYYY-MM-DD
endDate - String! End date of the hold, YYYY-MM-DD
Example
{
  "id": 4,
  "startDate": "abc123",
  "endDate": "xyz789"
}

CustomerSignupNoOrdersCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
frequencyType - String Only send one message per customer per this many days
frequencyValue - Int The days passed since the oldest ready order to send the campaign
routeOnly - Boolean! Only send messages to customers that are on a route.
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": 4,
  "localId": 4,
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "abc123",
  "frequencyType": "abc123",
  "frequencyValue": 987,
  "routeOnly": true,
  "email": "abc123",
  "sms": "xyz789"
}

CustomerSignupNoOrdersCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
frequencyType - String Only send one message per customer per this many days
frequencyValue - Int The days passed since the oldest ready order to send the campaign
routeOnly - Boolean! Only send messages to customers that are on a route.
Example
{
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "email": "abc123",
  "sms": "xyz789",
  "frequencyType": "abc123",
  "frequencyValue": 123,
  "routeOnly": false
}

CustomerSubscription

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
pending - CustomerSubscriptionEntry Pending subscription object
active - CustomerSubscriptionEntry Active subscription object
log - [CustomerSubscriptionLog] Start & end-times of subscriptions
renewalDate - DateTime Date when subscription renews
Example
{
  "id": "4",
  "localId": 4,
  "pending": CustomerSubscriptionEntry,
  "active": CustomerSubscriptionEntry,
  "log": [CustomerSubscriptionLog],
  "renewalDate": "2007-12-03T10:15:30Z"
}

CustomerSubscriptionEntry

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
saleId - ID The connected order Id
price - Float! The price per month for this subscription
start - DateTime The start date
end - DateTime The end date
Example
{
  "id": "4",
  "localId": 4,
  "saleId": 4,
  "price": 123.45,
  "start": "2007-12-03T10:15:30Z",
  "end": "2007-12-03T10:15:30Z"
}

CustomerSubscriptionLog

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
date - String! The date
event - String! The event name
description - String! The event description
user - User The user who triggered the event
Example
{
  "id": 4,
  "localId": 4,
  "date": "xyz789",
  "event": "xyz789",
  "description": "xyz789",
  "user": User
}

DateRange

Fields
Input Field Description
gt - DateTime Greater than
gte - DateTime Greater than or equal
lt - DateTime Less than
lte - DateTime Less than or equal
Example
{
  "gt": "2007-12-03T10:15:30Z",
  "gte": "2007-12-03T10:15:30Z",
  "lt": "2007-12-03T10:15:30Z",
  "lte": "2007-12-03T10:15:30Z"
}

DateTime

Description

An ISO-8601 encoded UTC date string.

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

DeliveryVehicleStatus

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
driverName - String!
driverPhone - String
lastPositionAt - DateTime!
currentLatitude - String!
currentLongitude - String!
stopsLeft - Int!
Example
{
  "id": 4,
  "localId": 4,
  "driverName": "abc123",
  "driverPhone": "xyz789",
  "lastPositionAt": "2007-12-03T10:15:30Z",
  "currentLatitude": "abc123",
  "currentLongitude": "xyz789",
  "stopsLeft": 123
}

DepartmentMessageEntry

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
department - String The name of the department to send the message for
email - String The email Template ID to send on this day
sms - String The sms Template to send on this day
Example
{
  "id": 4,
  "localId": 4,
  "department": "abc123",
  "email": "abc123",
  "sms": "xyz789"
}

DepartmentMessageEntryInput

Description

A message to send to a department

Fields
Input Field Description
id - ID! The ID of the message Entry
department - String The name of the department to send the message for
email - String The email Template ID to send on this day
sms - String The sms Template to send on this day
Example
{
  "id": "4",
  "department": "xyz789",
  "email": "abc123",
  "sms": "abc123"
}

DetailedCustomerOrder

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
customer - Customer The customer this order belongs to
isStaging - Boolean Whether this order is the currently staged order by customer. If an order is staged, it means that this order describes the order the customer plans to give the cleaner next.
detailedItemData - [DetailedItemData]! Customer Item Details
Example
{
  "id": "4",
  "localId": "4",
  "customer": Customer,
  "isStaging": true,
  "detailedItemData": [DetailedItemData]
}

DetailedCustomerOrderInput

Description

An order detailed by customer

Fields
Input Field Description
items - [DetailedItemDataInput]!
Example
{"items": [DetailedItemDataInput]}

DetailedItemData

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
description - String! Customer Provided Item Description
photo - Photo photo of garment
annotations - [Annotation]! annotations (such as spots and damages) of item
Example
{
  "id": "4",
  "localId": 4,
  "description": "abc123",
  "photo": Photo,
  "annotations": [Annotation]
}

DetailedItemDataInput

Description

Customer detailed item with optional description, photo and annotations

Fields
Input Field Description
description - String Customer Provided Item Description
photo - ID Photo of the garment (id of Photo)
annotations - [AnnotationInput]! annotations (such as spots and damages) of item
Example
{
  "description": "xyz789",
  "photo": 4,
  "annotations": [AnnotationInput]
}

DuePayment

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
subTotal - Float! The total price for the orders, including tax
creditedAmount - Float! The sum of credits for the payment
cardSurcharge - CardSurcharge The card surcharge for the payment
total - Float! The total sum of the payment
Example
{
  "id": 4,
  "localId": "4",
  "subTotal": 987.65,
  "creditedAmount": 987.65,
  "cardSurcharge": CardSurcharge,
  "total": 987.65
}

ElapsedDaysEntry

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
daysPassed - Int The day of the week to send the campaign
email - String The email Template ID to send on this day
sms - String The sms Template to send on this day
Example
{
  "id": "4",
  "localId": 4,
  "daysPassed": 987,
  "email": "xyz789",
  "sms": "abc123"
}

ElapsedDaysEntryInput

Description

A campaign setting

Fields
Input Field Description
id - ID! The ID of the campaign setting
daysPassed - Int The day of the week to send the campaign
email - String The email Template ID to send on this day
sms - String The sms Template to send on this day
Example
{
  "id": "4",
  "daysPassed": 123,
  "email": "xyz789",
  "sms": "xyz789"
}

FinancialDepartment

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the department.
showInCustomerScheduler - Boolean! True if supposed to be displayed in the customer delivery scheduler.
Example
{
  "id": "4",
  "localId": 4,
  "name": "abc123",
  "showInCustomerScheduler": false
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

GetCustomerFieldEnum

Values
Enum Value Description

id

email

phone

Example
"id"

GetCustomersFieldEnum

Values
Enum Value Description

masterRouteId

deliveryPreference

Example
"masterRouteId"

Group

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
agentId - ID Unique identifier for the Agent. Can be null for a Group, if the group is not an agent.
agentType - String The type of Agent. One of "Store", "Route" or "Group". Can be null for a Group, if the group is not an agent.
name - String! Name of the Agent
merchant - Merchant The merchant for the agent
isStripeEnabled - Boolean If an agent is Stripe enabled
hasOwnAgent - Boolean! Whether this group has its own Sales agent or not. Must groups do not have their own sales agent, but sometimes this is used for granular sales reporting for the group.
isGroupStop - Boolean! Whether this group is a group delivery stop. For example a building with many customers in it.
isMasterBilling - Boolean! Whether this group is billed as one. The Customers in the group do not pay for the services billed for in SMRT, only the group does.
customers - [Customer]! Members of this group
Example
{
  "id": "4",
  "localId": 4,
  "agentId": "4",
  "agentType": "xyz789",
  "name": "xyz789",
  "merchant": Merchant,
  "isStripeEnabled": true,
  "hasOwnAgent": false,
  "isGroupStop": true,
  "isMasterBilling": false,
  "customers": [Customer]
}

HappyAnniversaryCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": 4,
  "localId": "4",
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "email": "xyz789",
  "sms": "abc123"
}

HappyAnniversaryCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
Example
{
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "xyz789",
  "email": "abc123",
  "sms": "xyz789"
}

HasCustomSettings

Fields
Field Name Description
settings - Settings! The settings relating to this object
Possible Types
HasCustomSettings Types

Customer

Example
{"settings": Settings}

Holiday

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
date - String! The date of the holiday, YYYY-MM-DD
noProduction - Boolean! True if no production on day
noDelivery - Boolean! True if no delivery on day
dayOfWeek - String! The day of the week for the date (Mon, Tue etc)
Example
{
  "id": 4,
  "localId": "4",
  "date": "xyz789",
  "noProduction": false,
  "noDelivery": true,
  "dayOfWeek": "abc123"
}

HolidayInput

Description

Update a holiday

Fields
Input Field Description
noProduction - Boolean! True if no production on day
noDelivery - Boolean! True if no delivery on day
Example
{"noProduction": true, "noDelivery": false}

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
987

InventoryReminderCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
frequency - Int Only send one message per customer per this many days
elapsedDays - [ElapsedDaysEntry] The days passed since the oldest ready order to send the campaign
Example
{
  "id": 4,
  "localId": "4",
  "enabled": false,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "frequency": 987,
  "elapsedDays": [ElapsedDaysEntry]
}

InventoryReminderCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
frequency - Int Only send one message per customer per this many days
elapsedDays - [ElapsedDaysEntryInput]! The days passed since the oldest ready order to send the campaign
Example
{
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "email": "abc123",
  "sms": "xyz789",
  "frequency": 987,
  "elapsedDays": [ElapsedDaysEntryInput]
}

ItemCategory

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the category, e.g Shirts/Tops
sort - Int! Sort of the category in item detailing, lowest number first
description - String! Longer description of what items are in the category
disabled - Boolean! Whether the category is disabled (meaning deleted) or not
isRetail - Boolean! If the category is the retail sales category. This category includes non cleaning items such as gift cards and lint rollers.
Example
{
  "id": "4",
  "localId": 4,
  "name": "xyz789",
  "sort": 123,
  "description": "abc123",
  "disabled": true,
  "isRetail": false
}

ItemCategoryInput

Description

Create / Update an item category

Fields
Input Field Description
id - ID only required for existing entries
name - String! Name of the category, e.g Shirts/Tops
sort - Int! Sort of the category in item detailing, lowest number first
description - String! Longer description of what items are in the category
disabled - Boolean! Whether the category is disabled (meaning deleted) or not
isRetail - Boolean! If the category is the retail sales category. This category includes non cleaning items such as gift cards and lint rollers.
Example
{
  "id": "4",
  "name": "xyz789",
  "sort": 123,
  "description": "xyz789",
  "disabled": true,
  "isRetail": true
}

ItemField

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the field.
Example
{"id": 4, "localId": 4, "name": "abc123"}

ItemStatus

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String!
isReady - Boolean!
Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123",
  "isReady": false
}

ItemType

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the item type
category - ItemCategory! Item Category.
active - Boolean Whether the item type has been deleted or not.
price - String The current price of the item type
description - String The description of the item type
departmentId - String!
defaultImageUrl - String! The default item image url
Example
{
  "id": "4",
  "localId": "4",
  "name": "abc123",
  "category": ItemCategory,
  "active": true,
  "price": "xyz789",
  "description": "xyz789",
  "departmentId": "xyz789",
  "defaultImageUrl": "xyz789"
}

ItemValidationRule

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the rule.
requiredFields - [String] A list of required item fields.
requiredSpecialCares - [String] A list of required special cares (one-of condition).
itemTypeCondition - [String] A list of item types.
departmentCondition - [String] A list of financial departments.
sort - Int Sort order.
isDisabled - Boolean True if rule is disabled.
Example
{
  "id": "4",
  "localId": "4",
  "name": "abc123",
  "requiredFields": ["xyz789"],
  "requiredSpecialCares": ["xyz789"],
  "itemTypeCondition": ["abc123"],
  "departmentCondition": ["abc123"],
  "sort": 123,
  "isDisabled": true
}

ItemValidationRuleInput

Description

Create or update an item validation rule

Fields
Input Field Description
id - ID Only required for existing entries
name - String! Name of the rule.
requiredFields - [String] A list of required item fields.
requiredSpecialCares - [String] A list of required special cares (one-of condition).
itemTypeCondition - [String] A list of item types.
departmentCondition - [String] A list of financial departments.
sort - Int Sort order.
isDisabled - Boolean True if rule is disabled.
Example
{
  "id": "4",
  "name": "xyz789",
  "requiredFields": ["xyz789"],
  "requiredSpecialCares": ["xyz789"],
  "itemTypeCondition": ["xyz789"],
  "departmentCondition": ["abc123"],
  "sort": 123,
  "isDisabled": false
}

Locker

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
address - CustomerAddress Locker Address
Example
{
  "id": 4,
  "localId": "4",
  "address": CustomerAddress
}

MarketingBroadcast

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! The name of the broadcast
subject - String The subject of the broadcast email
broadcastType - String The type of the broadcast
message - String The message of the broadcast in plain text or html
customerKpiId - String The customer kpi used to fetch a customer list
emailTemplateId - String The id of the broadcast email template
status - String The status of the broadcast
dateCreated - Float! The date the broadcast was created
dateSent - String The date the broadcast was sent
emailHtmlTemplate - String The html template of the broadcast email
sentBy - String! User that created/sent the broadcast
scheduledBy - String! User that scheduled the broadcast
scheduledDate - String Date for the scheduled the broadcast
Example
{
  "id": "4",
  "localId": 4,
  "name": "xyz789",
  "subject": "xyz789",
  "broadcastType": "abc123",
  "message": "xyz789",
  "customerKpiId": "abc123",
  "emailTemplateId": "xyz789",
  "status": "abc123",
  "dateCreated": 123.45,
  "dateSent": "abc123",
  "emailHtmlTemplate": "xyz789",
  "sentBy": "abc123",
  "scheduledBy": "abc123",
  "scheduledDate": "xyz789"
}

MarketingBroadcastFilterResponse

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
report - ID! The id of the report
title - String! The title of the report
total - Int! The number of customers in the report
Example
{
  "id": 4,
  "localId": 4,
  "report": "4",
  "title": "abc123",
  "total": 123
}

MarketingBroadcastInput

Description

MarketingBroadcast input object

Fields
Input Field Description
id - ID! The id of the broadcast
name - String! The name of the email template
subject - String The subject of the email
broadcastType - String! The type of the broadcast
message - String! The message of the broadcast in plain text or html
customerKpiId - String! The customer kpi used to fetch a customer list
emailTemplateId - String The id of the email template
emailHtmlTemplate - String The html template of the email
dateCreated - Float! The date the broadcast was created
scheduledDate - Float The date to send the broadcast
Example
{
  "id": "4",
  "name": "xyz789",
  "subject": "xyz789",
  "broadcastType": "xyz789",
  "message": "xyz789",
  "customerKpiId": "xyz789",
  "emailTemplateId": "abc123",
  "emailHtmlTemplate": "abc123",
  "dateCreated": 123.45,
  "scheduledDate": 987.65
}

MarketingByDepartmentCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
frequency - Int Send a message every X days
departmentMessages - [DepartmentMessageEntry] List of messages to send to customers for each department
Example
{
  "id": 4,
  "localId": 4,
  "enabled": false,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "frequency": 123,
  "departmentMessages": [DepartmentMessageEntry]
}

MarketingByDepartmentCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
frequency - Int The day of the month to send the message
departmentMessages - [DepartmentMessageEntryInput] List of messages to send to customers for each department
Example
{
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "xyz789",
  "frequency": 123,
  "departmentMessages": [DepartmentMessageEntryInput]
}

MarketingEmailTemplate

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! The name of the email template
subject - String The subject of the email
jsonTemplate - String! The json template of the email
htmlTemplate - String! The html template of the email
Example
{
  "id": "4",
  "localId": 4,
  "name": "abc123",
  "subject": "xyz789",
  "jsonTemplate": "abc123",
  "htmlTemplate": "abc123"
}

MarketingEmailTemplateInput

Description

An email template input.

Fields
Input Field Description
id - String A unique ID for this custom field
name - String! The name of the email template
subject - String The subject of the email
jsonTemplate - String! The json template of the email
htmlTemplate - String! The html template of the email
Example
{
  "id": "abc123",
  "name": "xyz789",
  "subject": "xyz789",
  "jsonTemplate": "xyz789",
  "htmlTemplate": "abc123"
}

Merchant

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Merchant name
gateway - String! Merchant gateway
agentIds - [String]! Ids of agents using the merchant
Example
{
  "id": 4,
  "localId": 4,
  "name": "abc123",
  "gateway": "abc123",
  "agentIds": ["xyz789"]
}

MonthlyNewsletterCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
dayToSend - Int! The day of the month to send the message
januaryEmail - String The email template to send in January
januaryEnabled - Boolean! If the email should be sent in January
februaryEmail - String The email template to send in February
februaryEnabled - Boolean! If the email should be sent in February
marchEmail - String The email template to send in March
marchEnabled - Boolean! If the email should be sent in March
aprilEmail - String The email template to send in April
aprilEnabled - Boolean! If the email should be sent in April
mayEmail - String The email template to send in May
mayEnabled - Boolean! If the email should be sent in May
juneEmail - String The email template to send in June
juneEnabled - Boolean! If the email should be sent in June
julyEmail - String The email template to send in July
julyEnabled - Boolean! If the email should be sent in July
augustEmail - String The email template to send in August
augustEnabled - Boolean! If the email should be sent in August
septemberEmail - String The email template to send in September
septemberEnabled - Boolean! If the email should be sent in September
octoberEmail - String The email template to send in October
octoberEnabled - Boolean! If the email should be sent in October
novemberEmail - String The email template to send in November
novemberEnabled - Boolean! If the email should be sent in November
decemberEmail - String The email template to send in December
decemberEnabled - Boolean! If the email should be sent in December
Example
{
  "id": 4,
  "localId": "4",
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "dayToSend": 123,
  "januaryEmail": "xyz789",
  "januaryEnabled": false,
  "februaryEmail": "xyz789",
  "februaryEnabled": false,
  "marchEmail": "abc123",
  "marchEnabled": false,
  "aprilEmail": "abc123",
  "aprilEnabled": false,
  "mayEmail": "abc123",
  "mayEnabled": false,
  "juneEmail": "abc123",
  "juneEnabled": false,
  "julyEmail": "abc123",
  "julyEnabled": false,
  "augustEmail": "abc123",
  "augustEnabled": false,
  "septemberEmail": "abc123",
  "septemberEnabled": false,
  "octoberEmail": "abc123",
  "octoberEnabled": false,
  "novemberEmail": "abc123",
  "novemberEnabled": true,
  "decemberEmail": "abc123",
  "decemberEnabled": true
}

MonthlyNewsletterCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
dayToSend - Int! The day of the month to send the message
januaryEmail - String The email template to send in January
januaryEnabled - Boolean! If the email should be sent in January
februaryEmail - String The email template to send in February
februaryEnabled - Boolean! If the email should be sent in February
marchEmail - String The email template to send in March
marchEnabled - Boolean! If the email should be sent in March
aprilEmail - String The email template to send in April
aprilEnabled - Boolean! If the email should be sent in April
mayEmail - String The email template to send in May
mayEnabled - Boolean! If the email should be sent in May
juneEmail - String The email template to send in June
juneEnabled - Boolean! If the email should be sent in June
julyEmail - String The email template to send in July
julyEnabled - Boolean! If the email should be sent in July
augustEmail - String The email template to send in August
augustEnabled - Boolean! If the email should be sent in August
septemberEmail - String The email template to send in September
septemberEnabled - Boolean! If the email should be sent in September
octoberEmail - String The email template to send in October
octoberEnabled - Boolean! If the email should be sent in October
novemberEmail - String The email template to send in November
novemberEnabled - Boolean! If the email should be sent in November
decemberEmail - String The email template to send in December
decemberEnabled - Boolean! If the email should be sent in December
Example
{
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "abc123",
  "dayToSend": 987,
  "januaryEmail": "abc123",
  "januaryEnabled": false,
  "februaryEmail": "xyz789",
  "februaryEnabled": true,
  "marchEmail": "abc123",
  "marchEnabled": false,
  "aprilEmail": "abc123",
  "aprilEnabled": true,
  "mayEmail": "abc123",
  "mayEnabled": true,
  "juneEmail": "xyz789",
  "juneEnabled": false,
  "julyEmail": "xyz789",
  "julyEnabled": true,
  "augustEmail": "xyz789",
  "augustEnabled": false,
  "septemberEmail": "xyz789",
  "septemberEnabled": true,
  "octoberEmail": "abc123",
  "octoberEnabled": true,
  "novemberEmail": "xyz789",
  "novemberEnabled": false,
  "decemberEmail": "xyz789",
  "decemberEnabled": false
}

NewCustomerRetentionCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
maxMessages - Int The maximum number of messages to send
storeEmail - String The email template to send
storeSms - String The sms template to send
routeEmail - String The email template to send
routeSms - String The sms template to send
Example
{
  "id": "4",
  "localId": "4",
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "maxMessages": 987,
  "storeEmail": "abc123",
  "storeSms": "abc123",
  "routeEmail": "abc123",
  "routeSms": "xyz789"
}

NewCustomerRetentionCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
maxMessages - Int The maximum number of messages to send
storeEmail - String The email template to send
storeSms - String The sms template to send
routeEmail - String The email template to send
routeSms - String The sms template to send
Example
{
  "enabled": false,
  "priority": "xyz789",
  "customerKpiId": "xyz789",
  "email": "xyz789",
  "sms": "xyz789",
  "maxMessages": 123,
  "storeEmail": "abc123",
  "storeSms": "abc123",
  "routeEmail": "abc123",
  "routeSms": "abc123"
}

NoOrdersSinceLastCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
elapsedDays - [ElapsedDaysEntry] The days passed since the last order.
Example
{
  "id": "4",
  "localId": 4,
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "elapsedDays": [ElapsedDaysEntry]
}

NoOrdersSinceLastCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
elapsedDays - [ElapsedDaysEntryInput] The days passed since the last order.
Example
{
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "email": "abc123",
  "sms": "xyz789",
  "elapsedDays": [ElapsedDaysEntryInput]
}

Node

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
Possible Types
Node Types

Bot

User

Customer

Settings

Store

Merchant

Station

StationType

ItemType

ItemCategory

PaymentMethod

AutomaticSurcharge

AutomaticSurchargeCondition

WelcomeNewCustomerCampaign

ThankYouCampaign

ArPastDueCampaign

MonthlyNewsletterCampaign

HappyAnniversaryCampaign

InventoryReminderCampaign

ElapsedDaysEntry

OneAndDoneCampaign

MarketingByDepartmentCampaign

DepartmentMessageEntry

ThankYouTopSpendersCampaign

NewCustomerRetentionCampaign

CustomerSignupNoOrdersCampaign

NoOrdersSinceLastCampaign

UpdateYourInformationCampaign

QuarterlyComforterCampaign

Appointment

TimeSlot

Route

FinancialDepartment

CustomerAddress

Photo

DeliveryVehicleStatus

Group

CustomerRouteHold

CreditCard

CreditCardStatus

ScheduleDate

UnpaidOrders

Order

OrderItem

ItemStatus

Color

DetailedCustomerOrder

DetailedItemData

Annotation

DuePayment

CardSurcharge

PaymentReceipt

CustomerBooking

CustomerBag

RackLog

Rack

Promotion

CustomerSubscription

CustomerSubscriptionEntry

CustomerSubscriptionLog

CustomerFieldValue

PaymentStatus

Reward

Business

CommunicationTemplates

Note

Brand

Holiday

TaxRate

TaxConfigurationRule

ItemValidationRule

ItemField

SpecialCare

AlertType

AlertSubType

ChatRoom

ChatMessage

CustomerField

QueryReportsResult

QueryReportsResultColumn

QueryReportsResultKPIValue

ProductionStationStatistics

Surcharge

PriceList

MarketingEmailTemplate

MarketingBroadcast

MarketingBroadcastFilterResponse

Locker

CustomerPreferenceSection

CustomerPreference

RackByLockerCodeResponse

RackCfg

PutCustomerAddressesResponse

Example
{
  "id": "4",
  "localId": "4"
}

Note

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
date - DateTime! The creation date of the note
customer - Customer! The customer of the note
message - String! The note text
mainCategory - String! The note category
subCategory - String! The note sub category
status - String! The note status
saleId - String The attached sale id
itemId - String The attached item id
lastUpdated - DateTime Latest update of the note
dueDate - DateTime Due date of issue
assignee - User The assigned user
photos - [Photo]! List of photos attached to this note
Example
{
  "id": "4",
  "localId": 4,
  "date": "2007-12-03T10:15:30Z",
  "customer": Customer,
  "message": "xyz789",
  "mainCategory": "abc123",
  "subCategory": "abc123",
  "status": "abc123",
  "saleId": "abc123",
  "itemId": "abc123",
  "lastUpdated": "2007-12-03T10:15:30Z",
  "dueDate": "2007-12-03T10:15:30Z",
  "assignee": User,
  "photos": [Photo]
}

OneAndDoneCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
maxWaitDays - Int The maximum number of days to wait before sending the campaign
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": 4,
  "localId": "4",
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "maxWaitDays": 123,
  "email": "abc123",
  "sms": "xyz789"
}

OneAndDoneCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
maxWaitDays - Int The maximum number of days to wait before sending the campaign
Example
{
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "email": "xyz789",
  "sms": "abc123",
  "maxWaitDays": 987
}

Order

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
displayId - ID! A displayable order ID
date - DateTime! The order's creation date
dueDate - DateTime The order's due date
deliveredDate - DateTime The order's delivered date if delivered
customer - Customer! The customer
pickupStore - Store The store where the customer will pick up the completed order
dropStore - Store The store where the customer dropped of the order
isPickup - Boolean! Whether or not the order was made at a pickup
isDelivery - Boolean! Whether or not the return location of the order is set to delivery
hasChangedReturnLocation - Boolean! hasChangedReturnLocation
isPaid - Boolean! Whether or not the order is fully paid
buyPrice - Float! Total buy price of the order
pieceCount - Int! Piece count of the order
items - [OrderItem]! Items detailed on the order
customerProvidedDetails - DetailedCustomerOrder Details provided by customer
Example
{
  "id": 4,
  "localId": 4,
  "displayId": 4,
  "date": "2007-12-03T10:15:30Z",
  "dueDate": "2007-12-03T10:15:30Z",
  "deliveredDate": "2007-12-03T10:15:30Z",
  "customer": Customer,
  "pickupStore": Store,
  "dropStore": Store,
  "isPickup": true,
  "isDelivery": false,
  "hasChangedReturnLocation": false,
  "isPaid": false,
  "buyPrice": 123.45,
  "pieceCount": 987,
  "items": [OrderItem],
  "customerProvidedDetails": DetailedCustomerOrder
}

OrderItem

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
type - ItemType Item Type
barcode - String! Item Barcode
brandDisplay - String! Item Brand (e.g Banana Republic)
itemStatus - ItemStatus! Current item status (e.g Detailed, Pressing, Customer)
colors - [Color!]! Item Colors
photo - Photo Item Photo
Example
{
  "id": "4",
  "localId": 4,
  "type": ItemType,
  "barcode": "abc123",
  "brandDisplay": "xyz789",
  "itemStatus": ItemStatus,
  "colors": [Color],
  "photo": Photo
}

PaymentMethod

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String!
disabled - Boolean!
Example
{
  "id": "4",
  "localId": 4,
  "name": "abc123",
  "disabled": true
}

PaymentPreferenceEnum

Values
Enum Value Description

AUTOPAY

ON_DEMAND

STATEMENT

Example
"AUTOPAY"

PaymentReceipt

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
total - Float! The total sum of the payment
date - DateTime! The date the payment was made
receiptLink - String! The URL to the payment receipt PDF
Example
{
  "id": "4",
  "localId": 4,
  "total": 123.45,
  "date": "2007-12-03T10:15:30Z",
  "receiptLink": "abc123"
}

PaymentStatus

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
paymentReference - String! Payment reference
paymentStatus - PaymentStatusEnum! Payment status
Example
{
  "id": "4",
  "localId": "4",
  "paymentReference": "abc123",
  "paymentStatus": "AUTHORIZED"
}

PaymentStatusEnum

Values
Enum Value Description

AUTHORIZED

PENDING

REFUNDED

REJECTED

TIMEOUT

VOIDED

UNCOMMITTED

Example
"AUTHORIZED"

Photo

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
status - String! Current processing status of the photo.
thumbnailUrl - String URL to the thumbnail sized version, if any
smallUrl - String URL to the small sized version, if any
largeUrl - String URL to the large sized version, if any
description - String A description or comment
Example
{
  "id": "4",
  "localId": "4",
  "status": "xyz789",
  "thumbnailUrl": "abc123",
  "smallUrl": "xyz789",
  "largeUrl": "xyz789",
  "description": "xyz789"
}

PhotoInput

Description

Creates a photo from a base64 string

Fields
Input Field Description
base64 - String The png base64 data of the photo
description - String A description or comment
customerId - ID A customer ID if this is a customer photo
Example
{
  "base64": "abc123",
  "description": "abc123",
  "customerId": "4"
}

PriceList

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the price list
Example
{
  "id": "4",
  "localId": "4",
  "name": "xyz789"
}

ProductionStationStatistics

Fields
Field Name Description
id - ID!
localId - ID!
hours - Float! Number of hours the employee has worked today if using time clock. Returns 0 otherwise.
pieces - Int! The number of pieces the employee has processed today.
ppoh - Float Pieces per hour if the employee has clocked in at any point today. Returns null otherwise.
value - Float! The total value of the pieces processed today.
Example
{
  "id": "4",
  "localId": 4,
  "hours": 987.65,
  "pieces": 123,
  "ppoh": 123.45,
  "value": 987.65
}

ProductionStationTypeEnum

Values
Enum Value Description

assemble

inspect

itembagging

spot

alteration

wash

press

folding_bagging

racking

Example
"assemble"

Promotion

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String!
couponCode - String
customerCouponCode - String
Example
{
  "id": 4,
  "localId": 4,
  "name": "abc123",
  "couponCode": "xyz789",
  "customerCouponCode": "xyz789"
}

PutCustomerAddressesResponse

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
info - String An optional info message
addresses - [CustomerAddress]! The updated list of addresses
Example
{
  "id": "4",
  "localId": 4,
  "info": "xyz789",
  "addresses": [CustomerAddress]
}

QuarterlyComforterCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
dayToSend - Int The day of the month to send the campaign
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": 4,
  "localId": "4",
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "xyz789",
  "dayToSend": 123,
  "email": "xyz789",
  "sms": "abc123"
}

QuarterlyComforterCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
dayToSend - Int The day of the month to send the campaign
Example
{
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "abc123",
  "dayToSend": 123
}

QueryReportsResult

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
columns - [QueryReportsResultColumn]!
values - [String]!
totalCount - Int!
kpi - QueryReportsResultKPIValue
Example
{
  "id": "4",
  "localId": 4,
  "columns": [QueryReportsResultColumn],
  "values": ["xyz789"],
  "totalCount": 987,
  "kpi": QueryReportsResultKPIValue
}

QueryReportsResultColumn

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
field - String
index - String
type - String
name - String
sortBy - String
isSortable - Boolean
nested - String
Example
{
  "id": "4",
  "localId": 4,
  "field": "abc123",
  "index": "xyz789",
  "type": "xyz789",
  "name": "xyz789",
  "sortBy": "xyz789",
  "isSortable": false,
  "nested": "abc123"
}

QueryReportsResultKPIValue

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
type - String
value - String
Example
{
  "id": 4,
  "localId": "4",
  "type": "abc123",
  "value": "abc123"
}

Rack

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the rack
typeName - String! Type of rack in english
Example
{
  "id": "4",
  "localId": "4",
  "name": "xyz789",
  "typeName": "xyz789"
}

RackByLockerCodeResponse

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
rack - RackCfg!
address - CustomerAddress!
Example
{
  "id": "4",
  "localId": 4,
  "rack": RackCfg,
  "address": CustomerAddress
}

RackCfg

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
address - CustomerAddress! Rack street address if available
lockerOnRoute - ID Locker route Id if set
Example
{
  "id": 4,
  "localId": "4",
  "address": CustomerAddress,
  "lockerOnRoute": 4
}

RackLog

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
dateScanned - DateTime! The date the bag got scanned to the location
rack - Rack The rack the bag was scanned to
locationBarcode - String The unique location barcode
locationName - String Human readable location name (e.g 10), only guaranteed to be unique within a rack. Could be null, but is normally set
Example
{
  "id": "4",
  "localId": 4,
  "dateScanned": "2007-12-03T10:15:30Z",
  "rack": Rack,
  "locationBarcode": "abc123",
  "locationName": "xyz789"
}

Reward

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
date - String! Date when the reward was earned
amount - String! The amount which the reward is worth
status - RewardStatus! Redeem status
expiryDate - String! The date when the reward expires
redeemDate - String! The date when the reward was redeemed
Example
{
  "id": "4",
  "localId": "4",
  "date": "xyz789",
  "amount": "xyz789",
  "status": "EXPIRED",
  "expiryDate": "abc123",
  "redeemDate": "xyz789"
}

RewardSettingCriteriaEnum

Values
Enum Value Description

ADD_EMAIL_CRITERIA

ADD_PHONE_CRITERIA

ADD_ADDRESS_CRITERIA

ADD_CREDIT_CARD_CRITERIA

Example
"ADD_EMAIL_CRITERIA"

RewardStatus

Values
Enum Value Description

EXPIRED

REDEEMED

UNREDEEMED

Example
"EXPIRED"

Route

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
agentId - ID Unique identifier for the Agent. Can be null for a Group, if the group is not an agent.
agentType - String The type of Agent. One of "Store", "Route" or "Group". Can be null for a Group, if the group is not an agent.
name - String! Name of the Agent
merchant - Merchant The merchant for the agent
isStripeEnabled - Boolean If an agent is Stripe enabled
type - String! Type of the route (static or ondemand)
isSubRoute - Boolean! A master route may have several sub routes.
masterRouteId - ID The master route this route is a sub of.
pickupCutoffHours - ID Pickup cutoff time in hours.
deliveryCutoffHours - ID Delivery cutoff time in hours.
autoOptimize - Boolean! Delivery cutoff time in hours.
Example
{
  "id": 4,
  "localId": 4,
  "agentId": 4,
  "agentType": "xyz789",
  "name": "xyz789",
  "merchant": Merchant,
  "isStripeEnabled": false,
  "type": "xyz789",
  "isSubRoute": false,
  "masterRouteId": 4,
  "pickupCutoffHours": 4,
  "deliveryCutoffHours": 4,
  "autoOptimize": true
}

ScheduleDate

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
date - DateTime A date
timeSlots - [TimeSlot] Available time slots for this date
Example
{
  "id": 4,
  "localId": 4,
  "date": "2007-12-03T10:15:30Z",
  "timeSlots": [TimeSlot]
}

Settings

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
mainDeliveryStore - Store
mainStore - Store
quickDetailingItemTypes - [ItemType]
defaultPaymentMethod - PaymentMethod
acceptedPaymentMethods - [PaymentMethod]
logo - String
receiptLogo - String
POSNewOrderTabs - [ID]
deliveryNewOrderTabs - [ID]
statementGenerationDays - [String]
invoiceGenerationDays - [String]
acceptedCards - [ID]
automaticSurcharges - [AutomaticSurcharge]
detailingAttributes - [String]
welcomeNewCustomerCampaign - WelcomeNewCustomerCampaign
thankYouCampaign - ThankYouCampaign
arPastDueCampaign - ArPastDueCampaign
monthlyNewsletterCampaign - MonthlyNewsletterCampaign
happyAnniversaryCampaign - HappyAnniversaryCampaign
inventoryReminderCampaign - InventoryReminderCampaign
oneAndDoneCampaign - OneAndDoneCampaign
marketingByDepartmentCampaign - MarketingByDepartmentCampaign
thankYouTopSpendersCampaign - ThankYouTopSpendersCampaign
newCustomerRetentionCampaign - NewCustomerRetentionCampaign
customerSignupNoOrdersCampaign - CustomerSignupNoOrdersCampaign
noOrdersSinceLastCampaign - NoOrdersSinceLastCampaign
updateYourInformationCampaign - UpdateYourInformationCampaign
quarterlyComforterCampaign - QuarterlyComforterCampaign
businessName - String Name of the company as should be presented to the customer
dateFormat - String
countryCode - String
timeZone - String
locale - String
contactAddressLine - String
contactAddressState - String
contactAddressCity - String
contactAddressZip - String
contactPhone - String
logoUrl - String The full URL to a .png file containing the company logo as should be presented to the customer
noProductionDays - String Comma separated list of 3 letter days the business has no production on (e.g "mon,sun").
noDeliveryDays - String Comma separated list of 3 letter days the business has no pickup/delivery service on (e.g "mon,sun").
specialHolidays - String Comma separated list of holidays the business is closed on. Possible values: us_christmas,us_newyears,us_independence,us_laborday,us_thanksgiving,us_memorial
openDetailingWithCategory - ID Open an Item Category automatically in detailing, currently business level only. Provide null to disable, or a ItemCategory_ id to enable for a specific category.
customerFacingDomain - String
customSignupUrl - String
contactEmail - String
twilioAccountSid - String
twilioAuthToken - String
twilioPhone - String
twilioPhoneLookup - Boolean
whatsAppEnabled - Boolean
sendSmsOptOutInformation - Boolean
userNameOnEmailSubject - Boolean
payableEntity - String
emailFooter - String
lockerBuildingCode - String
communicationTemplatesId - String
vcardTemplate - String
newPickupScheduledInstructions - String
sendAutomatedMessages - Boolean
sendStatementEmails - Boolean
signupEmailRequired - Boolean Is an email address required on signup?
signupGroupRequired - Boolean
signupAutofillCity - Boolean
signupAddressRequired - Boolean
signupPhoneRequired - Boolean
signupCardRequired - Boolean
allowOrderSplitting - Boolean
groupOnDetailingSplit - Boolean
offerStoreDelivery - Boolean
offerDeliverySchedulingInText - Boolean
useStoreZipCodeForTax - Boolean
summarizeByBillingCode - Boolean
showSalesTaxBreakdownForStatementOrders - Boolean
sumOrderTotalOnStatements - Boolean
simplifiedPaymentReceipt - Boolean
cashTotalRounding - String
hasLogo - String
isHotel - Boolean
isHotelProcessor - Boolean
isRoomGroupHotel - Boolean
isLockers - Boolean
isValet - Boolean
isWholesaler - Boolean
pickupUnpaidOrders - Boolean
pressOnlyDiscount - String
scheduleWillCallAtAssembly - Boolean
scheduleWillCallOnDueDate - Boolean
dontIncludeOrdersInDeliveryListBeforeDueDate - Boolean
allowSubDeliveryAccountScheduling - Boolean
allowSubAccountToTriggerMasterDelivery - Boolean
sendAutopayReceipts - Boolean
sendDeliveryAppointmentConfirmation - Boolean
showDeliveryNotPaid - Boolean
deliveryAppLoadListSortDescending - Boolean
requireSignatureOnDelivery - Boolean
showSubRouteForDeliveryStop - Boolean
genericLaundryBagMode - Boolean
rushNotificationsHour - String
websiteDisplayText - String
shouldShowWebsiteOnReceipts - Boolean
showAgentOnBagTag - Boolean
assemblyEvenOnly - Boolean
voiceAssemblyEnabled - Boolean
inspectPriceAtAssembly - Boolean
assemblyPrintFinancialReceiptForDeliveryCustomer - Boolean
assemblyAlwaysPrintFinancialReceipt - Boolean
printFinancialTicketOutsideAssembly - Boolean
keepRackAssignmentOnOrderSplit - Boolean
complexLotControl - Boolean
overrideDueDateWithNextDelivery - Boolean
autoSelectDeliveryReturnLocation - Boolean
defaultDetailingTab - String
autoOpenAnnotationType - Boolean
requireInvoiceInDetailing - Boolean
displayTooManyDetailedItemsWarning - Boolean
assemblyIcon - String
alignAssemblyIcon - String
newCustomerTicketIcon - String
newCustomerBottomTicketIcon - String
customerNameOnTicketBottom - Boolean
pieceCountOnTicketBottom - Boolean
customerPhoneOnTicket - Boolean
showRoomInfoBelowAddress - Boolean
laundryLicense - String
summarizedItemTable - Boolean
showLogoOnReceipts - Boolean
logoOnReceiptHeight - String
receiptLogoName - String
showPriceOnAssembly - Boolean
paymentReceiptShowSignatureLine - Boolean
receiptsNameShort - String
newLocationOnTicket - Boolean
showRouteOfSameDayDelivery - Boolean
itemDetailsOnTicket - Boolean
itemDetailsOnOrderReceipt - Boolean
newOrderPrintCount - String
printRetailReceipts - Boolean
printDropTicketOnOrderSplit - Boolean
printTicketOnOrderCloseCount - String
noStoreContactInfoOnReceipts - Boolean
noPricingOnOrderReceipts - Boolean
receiptsFooter - String
thermalReceiptFooter - String
ticketReceiptFooter - String
showEmailOnReceipts - Boolean
showWebsiteOnReceipts - Boolean
invoicePayableLine - String
invoiceTerms - String
isRestorationAccount - Boolean
offerDemandDelivery - Boolean
autoAddNewCustomerToWillCallRoute - ID
groupItemDetailsByRoomNumber - Boolean
merchantBatchCloseTime - String
saveCardsOnFile - Boolean
amexSeparately - Boolean
maxAutopayAmount - String
autopayTerms - ID
autopayStatements - Boolean
autopayBatchStrategy - ID
invoiceDueDays - String
consolidateInvoiceItemDetails - Boolean
invoiceShowOrderDetails - Boolean
invoiceHideOrderInfo - Boolean
showDateOnStatement - Boolean
callStatementInvoice - Boolean
activitySummaryEnabled - Boolean
attachPDFInStatementEmails - Boolean
rewardsProgramEnabled - Boolean
rewardsPointModifier - String
rewardsCurrencyModifier - String
rewardsConversionRequirement - String
rewardsRedeemAutomatically - Boolean
rewardsEmailRequired - Boolean
rewardsPhoneRequired - Boolean
rewardsAddressRequired - Boolean
rewardsCreditCardRequired - Boolean
welcomeNotificationDisabled - Boolean
autoTicketOnCustomerRegistration - Boolean
autoTicketOnScheduledDelivery - Boolean
sendCustomerUpdatedCCNotification - Boolean
allowScheduleBothPickupAndDelivery - Boolean
limitScheduleDeliveryToClosestRoute - Boolean
allowRouteRegularCustomersToScheduleOnDemand - Boolean
allowSameDaySchedulingEvenIfRouteStarted - Boolean
experimentalPhotoUserExperienceOnWebsiteScheduler - Boolean
priceListUpdateOrdersCondition - String
routeAgentPriority - Boolean
commonOrdersAgent - Boolean
isMailOrderPickups - Boolean
lockerDropBinPickupMode - Boolean
showYesRepliesInComm - Boolean
autoReplyToYesRepliesInComm - Boolean
customerWebsiteClothesTrackerTabEnabled - Boolean
customerWebsiteWardrobeTabEnabled - Boolean
customerWebsitePaymentTabEnabled - Boolean
metalprogettiAssemblyLabelTemplate - String
metalprogettiSendRackSpaceToStorage - Boolean
sendNewOrderNotificationOnEveryVisit - Boolean
includeReceiptInNewOrderNotification - Boolean
printTempTagsForBarcodedItems - Boolean
alwaysGenerateTemporaryBarcodes - Boolean
zebraPrinterTemplate - String
epsonPrinterTemplate - String
forceOnlyBagFieldInput - Boolean
detailingWithoutBarcodes - Boolean
printLabelsWhenDuplicating - Boolean
metalprogettiStripCharacters - String
autoDetailingEnabled - Boolean
minItemBarcodeLength - String
maxItemBarcodeLength - String
quotesDeletionTimeFrame - String
minWashNFoldPrice - String
minWashNFoldWeight - String
washAndFoldWeightStations - Boolean
departmentSpecificOrdersEnabled - Boolean
manualPickupRestricted - Boolean
displayDueDateInProductionModules - Boolean
filterDetailingByItemTypes - Boolean
automaticallyFilterReportsToEmployeesStore - Boolean
payrollPeriod - String This setting defines the payroll period for a business.
payrollLastCloseDate - String
payrollFirstHalfCloseDate - String
payrollLastHalfCloseDate - String
payrollCloseDate - String
workweekStart - String
hoursUntilWeeklyOvertime - String
hoursUntilDailyOvertime - String
hoursUntilDailyDoubleTime - String
hoursUntilWeeklyNotification - String
hoursUntilDailyNotification - String
preventClockInBeforeTime - String
californiaOvertimeRules - Boolean
promptForClockInOnLogin - Boolean
overrideTimeClockWithUserDepartment - Boolean
allowMobileAppClockIn - Boolean
disableOverTimeNotifications - Boolean
overnightClockOut - Boolean
inventorySystemEnabled - Boolean
inventorySystemEnabledProduction - Boolean
permissionManageSystemSettings - String
permissionManageMarketing - String
permissionManageStationSettings - String
permissionAccessCustomerCredits - String
permissionAddCustomerDiscount - String
permissionAccessCustomerModule - String
permissionAccessDeliveryModule - String
permissionAccessAssemblyModule - String
permissionAccessSpottingModule - String
permissionAccessAlterAndRepairModule - String
permissionAccessAccountsReceivableModule - String
permissionAccessPressingModule - String
permissionAccessPriceListModule - String
permissionAccessCashBoxModule - String
permissionAccessTimeclockModule - String
permissionAccessPerformanceModule - String
permissionAccessWashAndFoldModule - String
permissionAccessInspectionModule - String
permissionAccessItemBaggingModule - String
permissionAccessFoldingAndBaggingModule - String
permissionAccessMessagesModule - String
permissionAccessRackingModule - String
permissionAccessRouteManagerModule - String
permissionAccessReportsModule - String
permissionAccessAdminReportsModule - String
permissionAccessIssueTrackerModule - String
permissionAccessSupportModule - String
permissionAccessEmployeeSettingsModule - String
permissionAccessBulkMarkinModule - String
permissionManualPriceEdits - String
permissionSpecialCareAfterOrderClose - String
permissionResetOrder - String
permissionRemoveItems - String
showStrikeThroughWhenReturned - Boolean
usePieceCountTotalsOnTicket - Boolean
taxHeaderString - String
includeTaxInPrice - Boolean
dropDateOnAssemblyTicket - Boolean
displayDepartmentOnTicket - Boolean
displayCategoryOnTicket - Boolean
displayPriceOnPickupSlip - Boolean
useStoreSpecificOrderSequenceNumbers - Boolean
showStoreSpecificOrderNumberOnTop - Boolean
saleItemLedgerTrackingEnabled - Boolean
inOnboarding - Boolean
noCcCustomerText - Boolean
pickupReminderOfferCancellations - Boolean
pickupReminderEnabledForInactiveCustomers - Boolean
offersRetailDelivery - Boolean
regRouteQuestionChecked - Boolean
pickupReminderHour24 - String
pickupReminderIncludeDeliveries - Boolean
deliveryCompleteConfirmation - Boolean
defaultCustomerPaymentType - String
promptOnCardAvsFailure - Boolean
minCardChargeAmount - String
defaultCustomerPriceList - String
cardSurcharging - String
cardSurchargeFixedPercentage - String
organizationNumber - String
fullstoryEnabled - Boolean
initializedInferred - Boolean
cashBoxMode - String
cashBoxModeProduction - String
displayExtendedStationReceiptInfo - Boolean
displayExtendedZReportInfo - Boolean
twilioMarketingNumber - String
marketingEnabled - Boolean
defaultLanguage - String
Example
{
  "id": 4,
  "localId": "4",
  "mainDeliveryStore": Store,
  "mainStore": Store,
  "quickDetailingItemTypes": [ItemType],
  "defaultPaymentMethod": PaymentMethod,
  "acceptedPaymentMethods": [PaymentMethod],
  "logo": "xyz789",
  "receiptLogo": "xyz789",
  "POSNewOrderTabs": [4],
  "deliveryNewOrderTabs": ["4"],
  "statementGenerationDays": ["abc123"],
  "invoiceGenerationDays": ["xyz789"],
  "acceptedCards": [4],
  "automaticSurcharges": [AutomaticSurcharge],
  "detailingAttributes": ["xyz789"],
  "welcomeNewCustomerCampaign": WelcomeNewCustomerCampaign,
  "thankYouCampaign": ThankYouCampaign,
  "arPastDueCampaign": ArPastDueCampaign,
  "monthlyNewsletterCampaign": MonthlyNewsletterCampaign,
  "happyAnniversaryCampaign": HappyAnniversaryCampaign,
  "inventoryReminderCampaign": InventoryReminderCampaign,
  "oneAndDoneCampaign": OneAndDoneCampaign,
  "marketingByDepartmentCampaign": MarketingByDepartmentCampaign,
  "thankYouTopSpendersCampaign": ThankYouTopSpendersCampaign,
  "newCustomerRetentionCampaign": NewCustomerRetentionCampaign,
  "customerSignupNoOrdersCampaign": CustomerSignupNoOrdersCampaign,
  "noOrdersSinceLastCampaign": NoOrdersSinceLastCampaign,
  "updateYourInformationCampaign": UpdateYourInformationCampaign,
  "quarterlyComforterCampaign": QuarterlyComforterCampaign,
  "businessName": "abc123",
  "dateFormat": "abc123",
  "countryCode": "xyz789",
  "timeZone": "xyz789",
  "locale": "abc123",
  "contactAddressLine": "xyz789",
  "contactAddressState": "xyz789",
  "contactAddressCity": "abc123",
  "contactAddressZip": "abc123",
  "contactPhone": "abc123",
  "logoUrl": "xyz789",
  "noProductionDays": "abc123",
  "noDeliveryDays": "xyz789",
  "specialHolidays": "abc123",
  "openDetailingWithCategory": "4",
  "customerFacingDomain": "abc123",
  "customSignupUrl": "xyz789",
  "contactEmail": "xyz789",
  "twilioAccountSid": "xyz789",
  "twilioAuthToken": "abc123",
  "twilioPhone": "xyz789",
  "twilioPhoneLookup": false,
  "whatsAppEnabled": true,
  "sendSmsOptOutInformation": true,
  "userNameOnEmailSubject": true,
  "payableEntity": "xyz789",
  "emailFooter": "xyz789",
  "lockerBuildingCode": "xyz789",
  "communicationTemplatesId": "abc123",
  "vcardTemplate": "abc123",
  "newPickupScheduledInstructions": "xyz789",
  "sendAutomatedMessages": false,
  "sendStatementEmails": true,
  "signupEmailRequired": false,
  "signupGroupRequired": false,
  "signupAutofillCity": false,
  "signupAddressRequired": true,
  "signupPhoneRequired": false,
  "signupCardRequired": false,
  "allowOrderSplitting": true,
  "groupOnDetailingSplit": true,
  "offerStoreDelivery": false,
  "offerDeliverySchedulingInText": false,
  "useStoreZipCodeForTax": true,
  "summarizeByBillingCode": true,
  "showSalesTaxBreakdownForStatementOrders": false,
  "sumOrderTotalOnStatements": true,
  "simplifiedPaymentReceipt": false,
  "cashTotalRounding": "abc123",
  "hasLogo": "abc123",
  "isHotel": true,
  "isHotelProcessor": true,
  "isRoomGroupHotel": false,
  "isLockers": true,
  "isValet": true,
  "isWholesaler": false,
  "pickupUnpaidOrders": false,
  "pressOnlyDiscount": "abc123",
  "scheduleWillCallAtAssembly": false,
  "scheduleWillCallOnDueDate": false,
  "dontIncludeOrdersInDeliveryListBeforeDueDate": false,
  "allowSubDeliveryAccountScheduling": true,
  "allowSubAccountToTriggerMasterDelivery": true,
  "sendAutopayReceipts": false,
  "sendDeliveryAppointmentConfirmation": false,
  "showDeliveryNotPaid": false,
  "deliveryAppLoadListSortDescending": true,
  "requireSignatureOnDelivery": false,
  "showSubRouteForDeliveryStop": true,
  "genericLaundryBagMode": true,
  "rushNotificationsHour": "xyz789",
  "websiteDisplayText": "xyz789",
  "shouldShowWebsiteOnReceipts": true,
  "showAgentOnBagTag": true,
  "assemblyEvenOnly": true,
  "voiceAssemblyEnabled": false,
  "inspectPriceAtAssembly": false,
  "assemblyPrintFinancialReceiptForDeliveryCustomer": true,
  "assemblyAlwaysPrintFinancialReceipt": true,
  "printFinancialTicketOutsideAssembly": false,
  "keepRackAssignmentOnOrderSplit": true,
  "complexLotControl": true,
  "overrideDueDateWithNextDelivery": true,
  "autoSelectDeliveryReturnLocation": false,
  "defaultDetailingTab": "abc123",
  "autoOpenAnnotationType": false,
  "requireInvoiceInDetailing": false,
  "displayTooManyDetailedItemsWarning": true,
  "assemblyIcon": "abc123",
  "alignAssemblyIcon": "xyz789",
  "newCustomerTicketIcon": "abc123",
  "newCustomerBottomTicketIcon": "xyz789",
  "customerNameOnTicketBottom": true,
  "pieceCountOnTicketBottom": false,
  "customerPhoneOnTicket": true,
  "showRoomInfoBelowAddress": true,
  "laundryLicense": "abc123",
  "summarizedItemTable": false,
  "showLogoOnReceipts": false,
  "logoOnReceiptHeight": "abc123",
  "receiptLogoName": "abc123",
  "showPriceOnAssembly": false,
  "paymentReceiptShowSignatureLine": false,
  "receiptsNameShort": "abc123",
  "newLocationOnTicket": false,
  "showRouteOfSameDayDelivery": false,
  "itemDetailsOnTicket": false,
  "itemDetailsOnOrderReceipt": true,
  "newOrderPrintCount": "xyz789",
  "printRetailReceipts": false,
  "printDropTicketOnOrderSplit": true,
  "printTicketOnOrderCloseCount": "xyz789",
  "noStoreContactInfoOnReceipts": true,
  "noPricingOnOrderReceipts": false,
  "receiptsFooter": "xyz789",
  "thermalReceiptFooter": "abc123",
  "ticketReceiptFooter": "abc123",
  "showEmailOnReceipts": true,
  "showWebsiteOnReceipts": true,
  "invoicePayableLine": "abc123",
  "invoiceTerms": "abc123",
  "isRestorationAccount": false,
  "offerDemandDelivery": true,
  "autoAddNewCustomerToWillCallRoute": "4",
  "groupItemDetailsByRoomNumber": true,
  "merchantBatchCloseTime": "abc123",
  "saveCardsOnFile": false,
  "amexSeparately": false,
  "maxAutopayAmount": "xyz789",
  "autopayTerms": 4,
  "autopayStatements": true,
  "autopayBatchStrategy": 4,
  "invoiceDueDays": "xyz789",
  "consolidateInvoiceItemDetails": true,
  "invoiceShowOrderDetails": true,
  "invoiceHideOrderInfo": false,
  "showDateOnStatement": true,
  "callStatementInvoice": false,
  "activitySummaryEnabled": false,
  "attachPDFInStatementEmails": true,
  "rewardsProgramEnabled": false,
  "rewardsPointModifier": "abc123",
  "rewardsCurrencyModifier": "xyz789",
  "rewardsConversionRequirement": "abc123",
  "rewardsRedeemAutomatically": false,
  "rewardsEmailRequired": true,
  "rewardsPhoneRequired": true,
  "rewardsAddressRequired": false,
  "rewardsCreditCardRequired": false,
  "welcomeNotificationDisabled": false,
  "autoTicketOnCustomerRegistration": true,
  "autoTicketOnScheduledDelivery": false,
  "sendCustomerUpdatedCCNotification": false,
  "allowScheduleBothPickupAndDelivery": true,
  "limitScheduleDeliveryToClosestRoute": true,
  "allowRouteRegularCustomersToScheduleOnDemand": true,
  "allowSameDaySchedulingEvenIfRouteStarted": false,
  "experimentalPhotoUserExperienceOnWebsiteScheduler": true,
  "priceListUpdateOrdersCondition": "xyz789",
  "routeAgentPriority": false,
  "commonOrdersAgent": true,
  "isMailOrderPickups": true,
  "lockerDropBinPickupMode": true,
  "showYesRepliesInComm": true,
  "autoReplyToYesRepliesInComm": true,
  "customerWebsiteClothesTrackerTabEnabled": true,
  "customerWebsiteWardrobeTabEnabled": true,
  "customerWebsitePaymentTabEnabled": false,
  "metalprogettiAssemblyLabelTemplate": "xyz789",
  "metalprogettiSendRackSpaceToStorage": true,
  "sendNewOrderNotificationOnEveryVisit": false,
  "includeReceiptInNewOrderNotification": true,
  "printTempTagsForBarcodedItems": false,
  "alwaysGenerateTemporaryBarcodes": false,
  "zebraPrinterTemplate": "abc123",
  "epsonPrinterTemplate": "xyz789",
  "forceOnlyBagFieldInput": true,
  "detailingWithoutBarcodes": true,
  "printLabelsWhenDuplicating": true,
  "metalprogettiStripCharacters": "abc123",
  "autoDetailingEnabled": true,
  "minItemBarcodeLength": "xyz789",
  "maxItemBarcodeLength": "xyz789",
  "quotesDeletionTimeFrame": "xyz789",
  "minWashNFoldPrice": "abc123",
  "minWashNFoldWeight": "abc123",
  "washAndFoldWeightStations": false,
  "departmentSpecificOrdersEnabled": false,
  "manualPickupRestricted": false,
  "displayDueDateInProductionModules": false,
  "filterDetailingByItemTypes": true,
  "automaticallyFilterReportsToEmployeesStore": false,
  "payrollPeriod": "abc123",
  "payrollLastCloseDate": "abc123",
  "payrollFirstHalfCloseDate": "xyz789",
  "payrollLastHalfCloseDate": "xyz789",
  "payrollCloseDate": "abc123",
  "workweekStart": "xyz789",
  "hoursUntilWeeklyOvertime": "xyz789",
  "hoursUntilDailyOvertime": "xyz789",
  "hoursUntilDailyDoubleTime": "abc123",
  "hoursUntilWeeklyNotification": "abc123",
  "hoursUntilDailyNotification": "xyz789",
  "preventClockInBeforeTime": "xyz789",
  "californiaOvertimeRules": false,
  "promptForClockInOnLogin": false,
  "overrideTimeClockWithUserDepartment": false,
  "allowMobileAppClockIn": true,
  "disableOverTimeNotifications": false,
  "overnightClockOut": true,
  "inventorySystemEnabled": true,
  "inventorySystemEnabledProduction": true,
  "permissionManageSystemSettings": "abc123",
  "permissionManageMarketing": "xyz789",
  "permissionManageStationSettings": "abc123",
  "permissionAccessCustomerCredits": "xyz789",
  "permissionAddCustomerDiscount": "abc123",
  "permissionAccessCustomerModule": "abc123",
  "permissionAccessDeliveryModule": "abc123",
  "permissionAccessAssemblyModule": "xyz789",
  "permissionAccessSpottingModule": "abc123",
  "permissionAccessAlterAndRepairModule": "xyz789",
  "permissionAccessAccountsReceivableModule": "xyz789",
  "permissionAccessPressingModule": "xyz789",
  "permissionAccessPriceListModule": "abc123",
  "permissionAccessCashBoxModule": "xyz789",
  "permissionAccessTimeclockModule": "xyz789",
  "permissionAccessPerformanceModule": "xyz789",
  "permissionAccessWashAndFoldModule": "abc123",
  "permissionAccessInspectionModule": "xyz789",
  "permissionAccessItemBaggingModule": "xyz789",
  "permissionAccessFoldingAndBaggingModule": "abc123",
  "permissionAccessMessagesModule": "abc123",
  "permissionAccessRackingModule": "xyz789",
  "permissionAccessRouteManagerModule": "xyz789",
  "permissionAccessReportsModule": "xyz789",
  "permissionAccessAdminReportsModule": "abc123",
  "permissionAccessIssueTrackerModule": "abc123",
  "permissionAccessSupportModule": "xyz789",
  "permissionAccessEmployeeSettingsModule": "xyz789",
  "permissionAccessBulkMarkinModule": "abc123",
  "permissionManualPriceEdits": "xyz789",
  "permissionSpecialCareAfterOrderClose": "xyz789",
  "permissionResetOrder": "abc123",
  "permissionRemoveItems": "abc123",
  "showStrikeThroughWhenReturned": true,
  "usePieceCountTotalsOnTicket": false,
  "taxHeaderString": "xyz789",
  "includeTaxInPrice": false,
  "dropDateOnAssemblyTicket": true,
  "displayDepartmentOnTicket": false,
  "displayCategoryOnTicket": false,
  "displayPriceOnPickupSlip": false,
  "useStoreSpecificOrderSequenceNumbers": true,
  "showStoreSpecificOrderNumberOnTop": true,
  "saleItemLedgerTrackingEnabled": true,
  "inOnboarding": true,
  "noCcCustomerText": true,
  "pickupReminderOfferCancellations": false,
  "pickupReminderEnabledForInactiveCustomers": true,
  "offersRetailDelivery": false,
  "regRouteQuestionChecked": true,
  "pickupReminderHour24": "abc123",
  "pickupReminderIncludeDeliveries": true,
  "deliveryCompleteConfirmation": false,
  "defaultCustomerPaymentType": "xyz789",
  "promptOnCardAvsFailure": true,
  "minCardChargeAmount": "xyz789",
  "defaultCustomerPriceList": "xyz789",
  "cardSurcharging": "xyz789",
  "cardSurchargeFixedPercentage": "abc123",
  "organizationNumber": "abc123",
  "fullstoryEnabled": false,
  "initializedInferred": true,
  "cashBoxMode": "xyz789",
  "cashBoxModeProduction": "xyz789",
  "displayExtendedStationReceiptInfo": false,
  "displayExtendedZReportInfo": true,
  "twilioMarketingNumber": "abc123",
  "marketingEnabled": true,
  "defaultLanguage": "abc123"
}

SettingsInput

Description

Update various settings connected to a Business, Brand, Customer Group or Customer. These settings are configured by employees of the business.

Fields
Input Field Description
businessName - String Name of the company as should be presented to the customer
dateFormat - String
countryCode - String
timeZone - String
locale - String
contactAddressLine - String
contactAddressState - String
contactAddressCity - String
contactAddressZip - String
contactPhone - String
logoUrl - String The full URL to a .png file containing the company logo as should be presented to the customer
noProductionDays - String Comma separated list of 3 letter days the business has no production on (e.g "mon,sun").
noDeliveryDays - String Comma separated list of 3 letter days the business has no pickup/delivery service on (e.g "mon,sun").
specialHolidays - String Comma separated list of holidays the business is closed on. Possible values: us_christmas,us_newyears,us_independence,us_laborday,us_thanksgiving,us_memorial
openDetailingWithCategory - ID Open an Item Category automatically in detailing, currently business level only. Provide null to disable, or a ItemCategory_ id to enable for a specific category.
customerFacingDomain - String
customSignupUrl - String
contactEmail - String
twilioAccountSid - String
twilioAuthToken - String
twilioPhone - String
twilioPhoneLookup - Boolean
whatsAppEnabled - Boolean
sendSmsOptOutInformation - Boolean
userNameOnEmailSubject - Boolean
payableEntity - String
emailFooter - String
lockerBuildingCode - String
communicationTemplatesId - String
vcardTemplate - String
newPickupScheduledInstructions - String
sendAutomatedMessages - Boolean
sendStatementEmails - Boolean
signupEmailRequired - Boolean Is an email address required on signup?
signupGroupRequired - Boolean
signupAutofillCity - Boolean
signupAddressRequired - Boolean
signupPhoneRequired - Boolean
signupCardRequired - Boolean
allowOrderSplitting - Boolean
groupOnDetailingSplit - Boolean
offerStoreDelivery - Boolean
offerDeliverySchedulingInText - Boolean
useStoreZipCodeForTax - Boolean
summarizeByBillingCode - Boolean
showSalesTaxBreakdownForStatementOrders - Boolean
sumOrderTotalOnStatements - Boolean
simplifiedPaymentReceipt - Boolean
cashTotalRounding - String
hasLogo - String
isHotel - Boolean
isHotelProcessor - Boolean
isRoomGroupHotel - Boolean
isLockers - Boolean
isValet - Boolean
isWholesaler - Boolean
pickupUnpaidOrders - Boolean
pressOnlyDiscount - String
scheduleWillCallAtAssembly - Boolean
scheduleWillCallOnDueDate - Boolean
dontIncludeOrdersInDeliveryListBeforeDueDate - Boolean
allowSubDeliveryAccountScheduling - Boolean
allowSubAccountToTriggerMasterDelivery - Boolean
sendAutopayReceipts - Boolean
sendDeliveryAppointmentConfirmation - Boolean
showDeliveryNotPaid - Boolean
deliveryAppLoadListSortDescending - Boolean
requireSignatureOnDelivery - Boolean
showSubRouteForDeliveryStop - Boolean
genericLaundryBagMode - Boolean
rushNotificationsHour - String
websiteDisplayText - String
shouldShowWebsiteOnReceipts - Boolean
showAgentOnBagTag - Boolean
assemblyEvenOnly - Boolean
voiceAssemblyEnabled - Boolean
inspectPriceAtAssembly - Boolean
assemblyPrintFinancialReceiptForDeliveryCustomer - Boolean
assemblyAlwaysPrintFinancialReceipt - Boolean
printFinancialTicketOutsideAssembly - Boolean
keepRackAssignmentOnOrderSplit - Boolean
complexLotControl - Boolean
overrideDueDateWithNextDelivery - Boolean
autoSelectDeliveryReturnLocation - Boolean
defaultDetailingTab - String
autoOpenAnnotationType - Boolean
requireInvoiceInDetailing - Boolean
displayTooManyDetailedItemsWarning - Boolean
assemblyIcon - String
alignAssemblyIcon - String
newCustomerTicketIcon - String
newCustomerBottomTicketIcon - String
customerNameOnTicketBottom - Boolean
pieceCountOnTicketBottom - Boolean
customerPhoneOnTicket - Boolean
showRoomInfoBelowAddress - Boolean
laundryLicense - String
summarizedItemTable - Boolean
showLogoOnReceipts - Boolean
logoOnReceiptHeight - String
receiptLogoName - String
showPriceOnAssembly - Boolean
paymentReceiptShowSignatureLine - Boolean
receiptsNameShort - String
newLocationOnTicket - Boolean
showRouteOfSameDayDelivery - Boolean
itemDetailsOnTicket - Boolean
itemDetailsOnOrderReceipt - Boolean
newOrderPrintCount - String
printRetailReceipts - Boolean
printDropTicketOnOrderSplit - Boolean
printTicketOnOrderCloseCount - String
noStoreContactInfoOnReceipts - Boolean
noPricingOnOrderReceipts - Boolean
receiptsFooter - String
thermalReceiptFooter - String
ticketReceiptFooter - String
showEmailOnReceipts - Boolean
showWebsiteOnReceipts - Boolean
invoicePayableLine - String
invoiceTerms - String
isRestorationAccount - Boolean
offerDemandDelivery - Boolean
autoAddNewCustomerToWillCallRoute - ID
groupItemDetailsByRoomNumber - Boolean
merchantBatchCloseTime - String
saveCardsOnFile - Boolean
amexSeparately - Boolean
maxAutopayAmount - String
autopayTerms - ID
autopayStatements - Boolean
autopayBatchStrategy - ID
invoiceDueDays - String
consolidateInvoiceItemDetails - Boolean
invoiceShowOrderDetails - Boolean
invoiceHideOrderInfo - Boolean
showDateOnStatement - Boolean
callStatementInvoice - Boolean
activitySummaryEnabled - Boolean
attachPDFInStatementEmails - Boolean
rewardsProgramEnabled - Boolean
rewardsPointModifier - String
rewardsCurrencyModifier - String
rewardsConversionRequirement - String
rewardsRedeemAutomatically - Boolean
rewardsEmailRequired - Boolean
rewardsPhoneRequired - Boolean
rewardsAddressRequired - Boolean
rewardsCreditCardRequired - Boolean
welcomeNotificationDisabled - Boolean
autoTicketOnCustomerRegistration - Boolean
autoTicketOnScheduledDelivery - Boolean
sendCustomerUpdatedCCNotification - Boolean
allowScheduleBothPickupAndDelivery - Boolean
limitScheduleDeliveryToClosestRoute - Boolean
allowRouteRegularCustomersToScheduleOnDemand - Boolean
allowSameDaySchedulingEvenIfRouteStarted - Boolean
experimentalPhotoUserExperienceOnWebsiteScheduler - Boolean
priceListUpdateOrdersCondition - String
routeAgentPriority - Boolean
commonOrdersAgent - Boolean
isMailOrderPickups - Boolean
lockerDropBinPickupMode - Boolean
showYesRepliesInComm - Boolean
autoReplyToYesRepliesInComm - Boolean
customerWebsiteClothesTrackerTabEnabled - Boolean
customerWebsiteWardrobeTabEnabled - Boolean
customerWebsitePaymentTabEnabled - Boolean
metalprogettiAssemblyLabelTemplate - String
metalprogettiSendRackSpaceToStorage - Boolean
sendNewOrderNotificationOnEveryVisit - Boolean
includeReceiptInNewOrderNotification - Boolean
printTempTagsForBarcodedItems - Boolean
alwaysGenerateTemporaryBarcodes - Boolean
zebraPrinterTemplate - String
epsonPrinterTemplate - String
forceOnlyBagFieldInput - Boolean
detailingWithoutBarcodes - Boolean
printLabelsWhenDuplicating - Boolean
metalprogettiStripCharacters - String
autoDetailingEnabled - Boolean
minItemBarcodeLength - String
maxItemBarcodeLength - String
quotesDeletionTimeFrame - String
minWashNFoldPrice - String
minWashNFoldWeight - String
washAndFoldWeightStations - Boolean
departmentSpecificOrdersEnabled - Boolean
manualPickupRestricted - Boolean
displayDueDateInProductionModules - Boolean
filterDetailingByItemTypes - Boolean
automaticallyFilterReportsToEmployeesStore - Boolean
payrollPeriod - String This setting defines the payroll period for a business.
payrollLastCloseDate - String
payrollFirstHalfCloseDate - String
payrollLastHalfCloseDate - String
payrollCloseDate - String
workweekStart - String
hoursUntilWeeklyOvertime - String
hoursUntilDailyOvertime - String
hoursUntilDailyDoubleTime - String
hoursUntilWeeklyNotification - String
hoursUntilDailyNotification - String
preventClockInBeforeTime - String
californiaOvertimeRules - Boolean
promptForClockInOnLogin - Boolean
overrideTimeClockWithUserDepartment - Boolean
allowMobileAppClockIn - Boolean
disableOverTimeNotifications - Boolean
overnightClockOut - Boolean
inventorySystemEnabled - Boolean
inventorySystemEnabledProduction - Boolean
permissionManageSystemSettings - String
permissionManageMarketing - String
permissionManageStationSettings - String
permissionAccessCustomerCredits - String
permissionAddCustomerDiscount - String
permissionAccessCustomerModule - String
permissionAccessDeliveryModule - String
permissionAccessAssemblyModule - String
permissionAccessSpottingModule - String
permissionAccessAlterAndRepairModule - String
permissionAccessAccountsReceivableModule - String
permissionAccessPressingModule - String
permissionAccessPriceListModule - String
permissionAccessCashBoxModule - String
permissionAccessTimeclockModule - String
permissionAccessPerformanceModule - String
permissionAccessWashAndFoldModule - String
permissionAccessInspectionModule - String
permissionAccessItemBaggingModule - String
permissionAccessFoldingAndBaggingModule - String
permissionAccessMessagesModule - String
permissionAccessRackingModule - String
permissionAccessRouteManagerModule - String
permissionAccessReportsModule - String
permissionAccessAdminReportsModule - String
permissionAccessIssueTrackerModule - String
permissionAccessSupportModule - String
permissionAccessEmployeeSettingsModule - String
permissionAccessBulkMarkinModule - String
permissionManualPriceEdits - String
permissionSpecialCareAfterOrderClose - String
permissionResetOrder - String
permissionRemoveItems - String
showStrikeThroughWhenReturned - Boolean
usePieceCountTotalsOnTicket - Boolean
taxHeaderString - String
includeTaxInPrice - Boolean
dropDateOnAssemblyTicket - Boolean
displayDepartmentOnTicket - Boolean
displayCategoryOnTicket - Boolean
displayPriceOnPickupSlip - Boolean
useStoreSpecificOrderSequenceNumbers - Boolean
showStoreSpecificOrderNumberOnTop - Boolean
saleItemLedgerTrackingEnabled - Boolean
inOnboarding - Boolean
noCcCustomerText - Boolean
pickupReminderOfferCancellations - Boolean
pickupReminderEnabledForInactiveCustomers - Boolean
offersRetailDelivery - Boolean
regRouteQuestionChecked - Boolean
pickupReminderHour24 - String
pickupReminderIncludeDeliveries - Boolean
deliveryCompleteConfirmation - Boolean
defaultCustomerPaymentType - String
promptOnCardAvsFailure - Boolean
minCardChargeAmount - String
defaultCustomerPriceList - String
cardSurcharging - String
cardSurchargeFixedPercentage - String
organizationNumber - String
fullstoryEnabled - Boolean
initializedInferred - Boolean
cashBoxMode - String
cashBoxModeProduction - String
displayExtendedStationReceiptInfo - Boolean
displayExtendedZReportInfo - Boolean
twilioMarketingNumber - String
marketingEnabled - Boolean
defaultLanguage - String
acceptedPaymentMethods - [ID] Id list
quickDetailingItemTypes - [ID] Id list
mainDeliveryStore - ID store id
mainStore - ID store id
communicationTemplates - [ID] Communication template id
defaultPaymentMethod - ID default payment method id
logo - Upload a logo image
receiptLogo - Upload logo image
POSNewOrderTabs - [ID]
deliveryNewOrderTabs - [ID]
statementGenerationDays - [String]
invoiceGenerationDays - [String]
acceptedCards - [ID]
automaticSurcharges - [AutomaticSurchargeInput]
detailingAttributes - [String]
welcomeNewCustomerCampaign - WelcomeNewCustomerCampaignInput
thankYouCampaign - ThankYouCampaignInput
arPastDueCampaign - ArPastDueCampaignInput
monthlyNewsletterCampaign - MonthlyNewsletterCampaignInput
happyAnniversaryCampaign - HappyAnniversaryCampaignInput
inventoryReminderCampaign - InventoryReminderCampaignInput
oneAndDoneCampaign - OneAndDoneCampaignInput
marketingByDepartmentCampaign - MarketingByDepartmentCampaignInput
thankYouTopSpendersCampaign - ThankYouTopSpendersCampaignInput
newCustomerRetentionCampaign - NewCustomerRetentionCampaignInput
customerSignupNoOrdersCampaign - CustomerSignupNoOrdersCampaignInput
noOrdersSinceLastCampaign - NoOrdersSinceLastCampaignInput
updateYourInformationCampaign - UpdateYourInformationCampaignInput
quarterlyComforterCampaign - QuarterlyComforterCampaignInput
Example
{
  "businessName": "abc123",
  "dateFormat": "abc123",
  "countryCode": "xyz789",
  "timeZone": "abc123",
  "locale": "abc123",
  "contactAddressLine": "xyz789",
  "contactAddressState": "xyz789",
  "contactAddressCity": "xyz789",
  "contactAddressZip": "xyz789",
  "contactPhone": "xyz789",
  "logoUrl": "abc123",
  "noProductionDays": "abc123",
  "noDeliveryDays": "xyz789",
  "specialHolidays": "abc123",
  "openDetailingWithCategory": "4",
  "customerFacingDomain": "xyz789",
  "customSignupUrl": "xyz789",
  "contactEmail": "abc123",
  "twilioAccountSid": "abc123",
  "twilioAuthToken": "abc123",
  "twilioPhone": "abc123",
  "twilioPhoneLookup": false,
  "whatsAppEnabled": false,
  "sendSmsOptOutInformation": false,
  "userNameOnEmailSubject": true,
  "payableEntity": "xyz789",
  "emailFooter": "abc123",
  "lockerBuildingCode": "xyz789",
  "communicationTemplatesId": "abc123",
  "vcardTemplate": "xyz789",
  "newPickupScheduledInstructions": "xyz789",
  "sendAutomatedMessages": true,
  "sendStatementEmails": false,
  "signupEmailRequired": false,
  "signupGroupRequired": true,
  "signupAutofillCity": false,
  "signupAddressRequired": true,
  "signupPhoneRequired": false,
  "signupCardRequired": true,
  "allowOrderSplitting": true,
  "groupOnDetailingSplit": false,
  "offerStoreDelivery": true,
  "offerDeliverySchedulingInText": false,
  "useStoreZipCodeForTax": true,
  "summarizeByBillingCode": true,
  "showSalesTaxBreakdownForStatementOrders": true,
  "sumOrderTotalOnStatements": true,
  "simplifiedPaymentReceipt": false,
  "cashTotalRounding": "xyz789",
  "hasLogo": "abc123",
  "isHotel": true,
  "isHotelProcessor": true,
  "isRoomGroupHotel": true,
  "isLockers": false,
  "isValet": true,
  "isWholesaler": false,
  "pickupUnpaidOrders": true,
  "pressOnlyDiscount": "xyz789",
  "scheduleWillCallAtAssembly": true,
  "scheduleWillCallOnDueDate": true,
  "dontIncludeOrdersInDeliveryListBeforeDueDate": true,
  "allowSubDeliveryAccountScheduling": false,
  "allowSubAccountToTriggerMasterDelivery": true,
  "sendAutopayReceipts": true,
  "sendDeliveryAppointmentConfirmation": false,
  "showDeliveryNotPaid": false,
  "deliveryAppLoadListSortDescending": false,
  "requireSignatureOnDelivery": false,
  "showSubRouteForDeliveryStop": true,
  "genericLaundryBagMode": true,
  "rushNotificationsHour": "xyz789",
  "websiteDisplayText": "abc123",
  "shouldShowWebsiteOnReceipts": true,
  "showAgentOnBagTag": false,
  "assemblyEvenOnly": true,
  "voiceAssemblyEnabled": true,
  "inspectPriceAtAssembly": true,
  "assemblyPrintFinancialReceiptForDeliveryCustomer": true,
  "assemblyAlwaysPrintFinancialReceipt": true,
  "printFinancialTicketOutsideAssembly": false,
  "keepRackAssignmentOnOrderSplit": false,
  "complexLotControl": false,
  "overrideDueDateWithNextDelivery": true,
  "autoSelectDeliveryReturnLocation": false,
  "defaultDetailingTab": "xyz789",
  "autoOpenAnnotationType": false,
  "requireInvoiceInDetailing": true,
  "displayTooManyDetailedItemsWarning": true,
  "assemblyIcon": "abc123",
  "alignAssemblyIcon": "abc123",
  "newCustomerTicketIcon": "abc123",
  "newCustomerBottomTicketIcon": "abc123",
  "customerNameOnTicketBottom": false,
  "pieceCountOnTicketBottom": false,
  "customerPhoneOnTicket": true,
  "showRoomInfoBelowAddress": false,
  "laundryLicense": "xyz789",
  "summarizedItemTable": false,
  "showLogoOnReceipts": false,
  "logoOnReceiptHeight": "abc123",
  "receiptLogoName": "abc123",
  "showPriceOnAssembly": false,
  "paymentReceiptShowSignatureLine": false,
  "receiptsNameShort": "xyz789",
  "newLocationOnTicket": false,
  "showRouteOfSameDayDelivery": true,
  "itemDetailsOnTicket": false,
  "itemDetailsOnOrderReceipt": false,
  "newOrderPrintCount": "xyz789",
  "printRetailReceipts": false,
  "printDropTicketOnOrderSplit": true,
  "printTicketOnOrderCloseCount": "xyz789",
  "noStoreContactInfoOnReceipts": false,
  "noPricingOnOrderReceipts": true,
  "receiptsFooter": "abc123",
  "thermalReceiptFooter": "abc123",
  "ticketReceiptFooter": "abc123",
  "showEmailOnReceipts": false,
  "showWebsiteOnReceipts": false,
  "invoicePayableLine": "xyz789",
  "invoiceTerms": "abc123",
  "isRestorationAccount": true,
  "offerDemandDelivery": false,
  "autoAddNewCustomerToWillCallRoute": 4,
  "groupItemDetailsByRoomNumber": false,
  "merchantBatchCloseTime": "abc123",
  "saveCardsOnFile": true,
  "amexSeparately": true,
  "maxAutopayAmount": "abc123",
  "autopayTerms": 4,
  "autopayStatements": false,
  "autopayBatchStrategy": 4,
  "invoiceDueDays": "xyz789",
  "consolidateInvoiceItemDetails": true,
  "invoiceShowOrderDetails": true,
  "invoiceHideOrderInfo": true,
  "showDateOnStatement": false,
  "callStatementInvoice": false,
  "activitySummaryEnabled": true,
  "attachPDFInStatementEmails": true,
  "rewardsProgramEnabled": true,
  "rewardsPointModifier": "abc123",
  "rewardsCurrencyModifier": "xyz789",
  "rewardsConversionRequirement": "xyz789",
  "rewardsRedeemAutomatically": true,
  "rewardsEmailRequired": false,
  "rewardsPhoneRequired": false,
  "rewardsAddressRequired": true,
  "rewardsCreditCardRequired": false,
  "welcomeNotificationDisabled": true,
  "autoTicketOnCustomerRegistration": false,
  "autoTicketOnScheduledDelivery": false,
  "sendCustomerUpdatedCCNotification": false,
  "allowScheduleBothPickupAndDelivery": false,
  "limitScheduleDeliveryToClosestRoute": true,
  "allowRouteRegularCustomersToScheduleOnDemand": false,
  "allowSameDaySchedulingEvenIfRouteStarted": true,
  "experimentalPhotoUserExperienceOnWebsiteScheduler": true,
  "priceListUpdateOrdersCondition": "abc123",
  "routeAgentPriority": true,
  "commonOrdersAgent": true,
  "isMailOrderPickups": false,
  "lockerDropBinPickupMode": false,
  "showYesRepliesInComm": false,
  "autoReplyToYesRepliesInComm": false,
  "customerWebsiteClothesTrackerTabEnabled": false,
  "customerWebsiteWardrobeTabEnabled": true,
  "customerWebsitePaymentTabEnabled": false,
  "metalprogettiAssemblyLabelTemplate": "xyz789",
  "metalprogettiSendRackSpaceToStorage": true,
  "sendNewOrderNotificationOnEveryVisit": false,
  "includeReceiptInNewOrderNotification": false,
  "printTempTagsForBarcodedItems": false,
  "alwaysGenerateTemporaryBarcodes": false,
  "zebraPrinterTemplate": "abc123",
  "epsonPrinterTemplate": "abc123",
  "forceOnlyBagFieldInput": false,
  "detailingWithoutBarcodes": false,
  "printLabelsWhenDuplicating": false,
  "metalprogettiStripCharacters": "xyz789",
  "autoDetailingEnabled": false,
  "minItemBarcodeLength": "abc123",
  "maxItemBarcodeLength": "abc123",
  "quotesDeletionTimeFrame": "xyz789",
  "minWashNFoldPrice": "abc123",
  "minWashNFoldWeight": "xyz789",
  "washAndFoldWeightStations": false,
  "departmentSpecificOrdersEnabled": false,
  "manualPickupRestricted": true,
  "displayDueDateInProductionModules": false,
  "filterDetailingByItemTypes": true,
  "automaticallyFilterReportsToEmployeesStore": false,
  "payrollPeriod": "xyz789",
  "payrollLastCloseDate": "abc123",
  "payrollFirstHalfCloseDate": "abc123",
  "payrollLastHalfCloseDate": "abc123",
  "payrollCloseDate": "xyz789",
  "workweekStart": "xyz789",
  "hoursUntilWeeklyOvertime": "xyz789",
  "hoursUntilDailyOvertime": "xyz789",
  "hoursUntilDailyDoubleTime": "xyz789",
  "hoursUntilWeeklyNotification": "xyz789",
  "hoursUntilDailyNotification": "abc123",
  "preventClockInBeforeTime": "xyz789",
  "californiaOvertimeRules": true,
  "promptForClockInOnLogin": true,
  "overrideTimeClockWithUserDepartment": true,
  "allowMobileAppClockIn": false,
  "disableOverTimeNotifications": true,
  "overnightClockOut": true,
  "inventorySystemEnabled": true,
  "inventorySystemEnabledProduction": true,
  "permissionManageSystemSettings": "abc123",
  "permissionManageMarketing": "abc123",
  "permissionManageStationSettings": "abc123",
  "permissionAccessCustomerCredits": "abc123",
  "permissionAddCustomerDiscount": "abc123",
  "permissionAccessCustomerModule": "abc123",
  "permissionAccessDeliveryModule": "xyz789",
  "permissionAccessAssemblyModule": "xyz789",
  "permissionAccessSpottingModule": "abc123",
  "permissionAccessAlterAndRepairModule": "xyz789",
  "permissionAccessAccountsReceivableModule": "abc123",
  "permissionAccessPressingModule": "abc123",
  "permissionAccessPriceListModule": "abc123",
  "permissionAccessCashBoxModule": "abc123",
  "permissionAccessTimeclockModule": "abc123",
  "permissionAccessPerformanceModule": "abc123",
  "permissionAccessWashAndFoldModule": "abc123",
  "permissionAccessInspectionModule": "xyz789",
  "permissionAccessItemBaggingModule": "abc123",
  "permissionAccessFoldingAndBaggingModule": "abc123",
  "permissionAccessMessagesModule": "abc123",
  "permissionAccessRackingModule": "xyz789",
  "permissionAccessRouteManagerModule": "xyz789",
  "permissionAccessReportsModule": "xyz789",
  "permissionAccessAdminReportsModule": "abc123",
  "permissionAccessIssueTrackerModule": "abc123",
  "permissionAccessSupportModule": "abc123",
  "permissionAccessEmployeeSettingsModule": "xyz789",
  "permissionAccessBulkMarkinModule": "xyz789",
  "permissionManualPriceEdits": "abc123",
  "permissionSpecialCareAfterOrderClose": "abc123",
  "permissionResetOrder": "abc123",
  "permissionRemoveItems": "xyz789",
  "showStrikeThroughWhenReturned": false,
  "usePieceCountTotalsOnTicket": true,
  "taxHeaderString": "abc123",
  "includeTaxInPrice": false,
  "dropDateOnAssemblyTicket": true,
  "displayDepartmentOnTicket": true,
  "displayCategoryOnTicket": true,
  "displayPriceOnPickupSlip": true,
  "useStoreSpecificOrderSequenceNumbers": true,
  "showStoreSpecificOrderNumberOnTop": true,
  "saleItemLedgerTrackingEnabled": false,
  "inOnboarding": true,
  "noCcCustomerText": false,
  "pickupReminderOfferCancellations": true,
  "pickupReminderEnabledForInactiveCustomers": true,
  "offersRetailDelivery": true,
  "regRouteQuestionChecked": true,
  "pickupReminderHour24": "xyz789",
  "pickupReminderIncludeDeliveries": false,
  "deliveryCompleteConfirmation": false,
  "defaultCustomerPaymentType": "xyz789",
  "promptOnCardAvsFailure": true,
  "minCardChargeAmount": "abc123",
  "defaultCustomerPriceList": "abc123",
  "cardSurcharging": "xyz789",
  "cardSurchargeFixedPercentage": "xyz789",
  "organizationNumber": "xyz789",
  "fullstoryEnabled": false,
  "initializedInferred": false,
  "cashBoxMode": "abc123",
  "cashBoxModeProduction": "abc123",
  "displayExtendedStationReceiptInfo": false,
  "displayExtendedZReportInfo": true,
  "twilioMarketingNumber": "abc123",
  "marketingEnabled": true,
  "defaultLanguage": "xyz789",
  "acceptedPaymentMethods": [4],
  "quickDetailingItemTypes": ["4"],
  "mainDeliveryStore": "4",
  "mainStore": "4",
  "communicationTemplates": [4],
  "defaultPaymentMethod": 4,
  "logo": Upload,
  "receiptLogo": Upload,
  "POSNewOrderTabs": ["4"],
  "deliveryNewOrderTabs": [4],
  "statementGenerationDays": ["abc123"],
  "invoiceGenerationDays": ["xyz789"],
  "acceptedCards": [4],
  "automaticSurcharges": [AutomaticSurchargeInput],
  "detailingAttributes": ["abc123"],
  "welcomeNewCustomerCampaign": WelcomeNewCustomerCampaignInput,
  "thankYouCampaign": ThankYouCampaignInput,
  "arPastDueCampaign": ArPastDueCampaignInput,
  "monthlyNewsletterCampaign": MonthlyNewsletterCampaignInput,
  "happyAnniversaryCampaign": HappyAnniversaryCampaignInput,
  "inventoryReminderCampaign": InventoryReminderCampaignInput,
  "oneAndDoneCampaign": OneAndDoneCampaignInput,
  "marketingByDepartmentCampaign": MarketingByDepartmentCampaignInput,
  "thankYouTopSpendersCampaign": ThankYouTopSpendersCampaignInput,
  "newCustomerRetentionCampaign": NewCustomerRetentionCampaignInput,
  "customerSignupNoOrdersCampaign": CustomerSignupNoOrdersCampaignInput,
  "noOrdersSinceLastCampaign": NoOrdersSinceLastCampaignInput,
  "updateYourInformationCampaign": UpdateYourInformationCampaignInput,
  "quarterlyComforterCampaign": QuarterlyComforterCampaignInput
}

SignInTextStatusEnum

Values
Enum Value Description

LOGIN_SUCCEEDED

REGISTRATION_ONGOING

REGISTRATION_SUCCESSFUL

UNKNOWN_ERROR

Example
"LOGIN_SUCCEEDED"

SignUpCustomerFields

Description

Fields to set to a customer upon registration

Fields
Input Field Description
firstName - String
lastName - String
streetAddress - String
streetAddress2 - String
cityAddress - String
stateAddress - String
zipAddress - String
promotionCode - String
group - String
agent - String
Example
{
  "firstName": "xyz789",
  "lastName": "abc123",
  "streetAddress": "xyz789",
  "streetAddress2": "xyz789",
  "cityAddress": "xyz789",
  "stateAddress": "abc123",
  "zipAddress": "xyz789",
  "promotionCode": "xyz789",
  "group": "abc123",
  "agent": "xyz789"
}

SpecialCare

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the special.
Example
{
  "id": "4",
  "localId": "4",
  "name": "xyz789"
}

Station

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the station (e.g Counter 1)
store - Store! The store which this station belongs to
type - StationType! The type of station
lastUsed - DateTime Last time this station was used.
Example
{
  "id": 4,
  "localId": 4,
  "name": "abc123",
  "store": Store,
  "type": StationType,
  "lastUsed": "2007-12-03T10:15:30Z"
}

StationType

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Descriptive name of the station type, useful for user display.
category - String! Name of the station category this type is part of.
Example
{
  "id": "4",
  "localId": 4,
  "name": "abc123",
  "category": "xyz789"
}

Store

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
agentId - ID Unique identifier for the Agent. Can be null for a Group, if the group is not an agent.
agentType - String The type of Agent. One of "Store", "Route" or "Group". Can be null for a Group, if the group is not an agent.
name - String! Name of the Agent
isStripeEnabled - Boolean If an agent is Stripe enabled
merchant - Merchant The merchant for the agent
phone - String Phone number to the store
address - String Address
city - String City
state - String State
zip - String Zip code
latitude - Float Latitude
longitude - Float Longitude
externalStoreIdentifier - String External Store Identifier
stations - [Station]! Stations (computers) that are at a physical store
hasCounterStation - Boolean! Whether or not the store has one or more counter stations
Example
{
  "id": "4",
  "localId": 4,
  "agentId": "4",
  "agentType": "abc123",
  "name": "xyz789",
  "isStripeEnabled": true,
  "merchant": Merchant,
  "phone": "xyz789",
  "address": "xyz789",
  "city": "abc123",
  "state": "abc123",
  "zip": "abc123",
  "latitude": 987.65,
  "longitude": 123.45,
  "externalStoreIdentifier": "abc123",
  "stations": [Station],
  "hasCounterStation": true
}

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
"abc123"

SubscriptionStatusEnum

Values
Enum Value Description

pending

active

Example
"pending"

Surcharge

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the surcharge
disabled - Boolean! Whether the surcharge is disabled or not
Example
{
  "id": 4,
  "localId": "4",
  "name": "xyz789",
  "disabled": false
}

TaxConfigurationRule

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
sort - Int Sort priority of the rule
parentRule - ID Id of an older revision of the rule
isDisabled - Boolean True if overridden by a newer revision
isDefault - Boolean True if this is the default rule
name - String! Name of the rule
rate - Float Tax rate of the rule
useAutoTaxJar - Boolean! True if tax rate from TaxJar should be used
addressSpecific - Boolean! True if check from TaxJar should be address specific
zipCondition - String Zip condition to apply this rule to. May be null, single '90210' or range '90210-91210'
departmentCondition - [String] Department(s) to apply this rule to. May be null or array of department IDs
agentCondition - [String] Agent(s) to apply this rule to. May be null or array of department IDs
Example
{
  "id": "4",
  "localId": "4",
  "sort": 123,
  "parentRule": "4",
  "isDisabled": false,
  "isDefault": true,
  "name": "xyz789",
  "rate": 987.65,
  "useAutoTaxJar": false,
  "addressSpecific": true,
  "zipCondition": "abc123",
  "departmentCondition": ["abc123"],
  "agentCondition": ["xyz789"]
}

TaxConfigurationRuleInput

Description

Create / Update a tax configuration rule

Fields
Input Field Description
id - ID Tax configuration rule id
name - String! Name of the rule
rate - Float Tax rate of the rule
useAutoTaxJar - Boolean! True if tax rate from TaxJar should be used
addressSpecific - Boolean! True if check from TaxJar should be address specific
zipCondition - String Zip condition to apply this rule to. May be null, single '90210' or range '90210-91210'
departmentCondition - [String] Department(s) to apply this rule to. May be null or array of department IDs
agentCondition - [String] Agent(s) to apply this rule to. May be null or array of department IDs
Example
{
  "id": 4,
  "name": "abc123",
  "rate": 123.45,
  "useAutoTaxJar": false,
  "addressSpecific": true,
  "zipCondition": "abc123",
  "departmentCondition": ["abc123"],
  "agentCondition": ["abc123"]
}

TaxRate

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
objectId - String! The ID of the object, should be either an item type id or a department id
rate - String!
Example
{
  "id": 4,
  "localId": 4,
  "objectId": "xyz789",
  "rate": "xyz789"
}

ThankYouCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
frequency - Int! Only send messages if the customer has not been sent a message in this many days
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": 4,
  "localId": "4",
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "abc123",
  "frequency": 987,
  "email": "xyz789",
  "sms": "abc123"
}

ThankYouCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
frequency - Int! Only send messages if the customer has not been sent a message in this many days
Example
{
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "email": "abc123",
  "sms": "xyz789",
  "frequency": 987
}

ThankYouTopSpendersCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
interval - Int Send the message every X days
spendingDemographics - [Int!] Only send to customers with these spending demographics
email - String The email template to send
sms - String The sms template to send
Example
{
  "id": "4",
  "localId": 4,
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "interval": 987,
  "spendingDemographics": [123],
  "email": "xyz789",
  "sms": "xyz789"
}

ThankYouTopSpendersCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
interval - Int Send the message every X days
spendingDemographics - [Int!] Only send to customers with these spending demographics
Example
{
  "enabled": false,
  "priority": "abc123",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "xyz789",
  "interval": 987,
  "spendingDemographics": [987]
}

TimeSlot

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
start - String! Start time
end - String! End time
routeId - ID! Route ID
Example
{
  "id": "4",
  "localId": 4,
  "start": "xyz789",
  "end": "xyz789",
  "routeId": "4"
}

UnpaidOrders

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
orders - [Order]! A list of unpaid orders
duePayment - DuePayment! The payment object including subtotal, total, surcharges, discounts and such
Example
{
  "id": 4,
  "localId": "4",
  "orders": [Order],
  "duePayment": DuePayment
}

UpdatePhotoInput

Description

Updates a photo's description

Fields
Input Field Description
id - ID! The ID of the photo to update
description - String A description or comment
Example
{"id": 4, "description": "abc123"}

UpdateYourInformationCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
messageType - [String] The type of information updates to request from customers
frequencyType - String The type of interval used for sending the information update requests to the customer.
frequencyValue - Int The numeric value for measuring the chosen frequency type.
Example
{
  "id": "4",
  "localId": 4,
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "xyz789",
  "email": "xyz789",
  "sms": "abc123",
  "messageType": ["xyz789"],
  "frequencyType": "abc123",
  "frequencyValue": 123
}

UpdateYourInformationCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
messageType - [String] The type of information updates to request from customers
frequencyType - String The type of interval used for sending the information update requests to the customer.
frequencyValue - Int The numeric value for measuring the chosen frequency type.
Example
{
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "abc123",
  "messageType": ["abc123"],
  "frequencyType": "xyz789",
  "frequencyValue": 987
}

Upload

Example
Upload

User

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
name - String! Name of the actor
firstName - String! The first name of the employee
Example
{
  "id": 4,
  "localId": "4",
  "name": "abc123",
  "firstName": "xyz789"
}

ValidateCustomerCredentialsInput

Description

Customer credentials to verify

Fields
Input Field Description
email - String! Email address
password - String! Raw password
Example
{
  "email": "xyz789",
  "password": "xyz789"
}

WelcomeNewCustomerCampaign

Fields
Field Name Description
id - ID! Globally Unique Identifier. In the format of ObjectType_BusinessIdShort_ObjectId
localId - ID! Local identifier without ObjectType_BusinessIdShort prefix.
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
maxWaitDays - Int! The maximum number of days to wait before sending the campaign
enableRoute - Boolean! If the campaign should be sent to customers who are on a route
enableStore - Boolean! If the campaign should be sent to customers who are not on a route
routeEmail - String The email template to send to customers who are on a route
routeSms - String The sms template to send to customers who are on a route
storeEmail - String The email template to send to customers who are not on a route
storeSms - String The sms template to send to customers who are not on a route
Example
{
  "id": 4,
  "localId": 4,
  "enabled": true,
  "priority": "abc123",
  "customerKpiId": "abc123",
  "maxWaitDays": 987,
  "enableRoute": true,
  "enableStore": false,
  "routeEmail": "xyz789",
  "routeSms": "xyz789",
  "storeEmail": "xyz789",
  "storeSms": "xyz789"
}

WelcomeNewCustomerCampaignInput

Description

Update a campaign setting

Fields
Input Field Description
enabled - Boolean! If the setting is enabled
priority - String! The sending priority of the campaign
customerKpiId - String! The customer kpi filter id
email - String The email template to send
sms - String The sms template to send
maxWaitDays - Int! The maximum number of days to wait before sending the campaign
enableRoute - Boolean! If the campaign should be sent to customers who are on a route
enableStore - Boolean! If the campaign should be sent to customers who are not on a route
routeEmail - String The email template to send to customers who are on a route
routeSms - String The sms template to send to customers who are on a route
storeEmail - String The email template to send to customers who are not on a route
storeSms - String The sms template to send to customers who are not on a route
Example
{
  "enabled": true,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "email": "xyz789",
  "sms": "xyz789",
  "maxWaitDays": 987,
  "enableRoute": true,
  "enableStore": true,
  "routeEmail": "abc123",
  "routeSms": "abc123",
  "storeEmail": "xyz789",
  "storeSms": "xyz789"
}