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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      isSubBilling
    }
    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
      isSubBilling
    }
    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
    promotions {
      id
      localId
      name
      couponCode
      customerCouponCode
      disabled
    }
    lockers {
      id
      localId
      address {
        ...CustomerAddressFragment
      }
    }
  }
}
Response
{
  "data": {
    "business": {
      "id": 4,
      "localId": "4",
      "shortId": 987,
      "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",
      "promotions": [Promotion],
      "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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Response
{
  "data": {
    "currentCustomer": {
      "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": 987,
      "demographic": 987,
      "apiTokenForCustomer": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "abc123",
      "email": "xyz789",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "abc123",
      "firstName": "abc123",
      "lastName": "abc123",
      "companyName": "abc123",
      "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"],
      "isSubBilling": false
    }
  }
}

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": "xyz789",
      "isStripeEnabled": false,
      "merchant": Merchant,
      "phone": "abc123",
      "address": "abc123",
      "city": "xyz789",
      "state": "abc123",
      "zip": "abc123",
      "latitude": 123.45,
      "longitude": 987.65,
      "externalStoreIdentifier": "abc123",
      "stations": [Station],
      "hasCounterStation": true
    }
  }
}

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": "xyz789",
      "name": "abc123",
      "isStripeEnabled": true,
      "merchant": Merchant,
      "phone": "abc123",
      "address": "abc123",
      "city": "abc123",
      "state": "xyz789",
      "zip": "xyz789",
      "latitude": 987.65,
      "longitude": 987.65,
      "externalStoreIdentifier": "xyz789",
      "stations": [Station],
      "hasCounterStation": true
    }
  }
}

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": "xyz789"
    }
  }
}

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": "xyz789",
        "name": "abc123",
        "options": [CustomerPreference]
      }
    ]
  }
}

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}]}}

publicBusiness

Description

Returns data about the current business / brand that should be available for non authenticated users. The business / brand is determined by the current subdomain of *.smrtapp.com

Response

Returns a PublicBusiness!

Example

Query
query PublicBusiness {
  publicBusiness {
    id
    businessName
    logoUrl
    phoneNumber
    streetAddress
    cityAddress
    zipAddress
    stateAddress
    customerFields {
      id
      localId
      fieldType
      label
      possibleValues
      shownProfile
      shownPosSignUp
      shownCustomerWebsite
      shownCustomerWebsiteSignUp
      elasticKey
      disabled
      isRequired
    }
    settings {
      localId
      id
      customSignupUrl
    }
    localId
  }
}
Response
{
  "data": {
    "publicBusiness": {
      "id": "4",
      "businessName": "abc123",
      "logoUrl": "abc123",
      "phoneNumber": "abc123",
      "streetAddress": "abc123",
      "cityAddress": "abc123",
      "zipAddress": "abc123",
      "stateAddress": "xyz789",
      "customerFields": [CustomerField],
      "settings": PublicBusinessSetting,
      "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": "xyz789",
        "category": "abc123"
      }
    ]
  }
}

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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{"customerId": 4, "routeId": 4, "preference": "NO_PREFERENCE"}
Response
{
  "data": {
    "addCustomerToRoute": {
      "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": "xyz789",
      "authenticatedCustomerSiteLink": "xyz789",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 987,
      "demographic": 987,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "xyz789",
      "email": "abc123",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "abc123",
      "homePhone": "xyz789",
      "activePhone": "xyz789",
      "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"],
      "isSubBilling": false
    }
  }
}

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": false}}

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": "abc123"}
Response
{
  "data": {
    "appendSpecialChatMessageContent": "abc123"
  }
}

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": "xyz789"
}
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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{
  "input": CustomerInput,
  "agentId": "xyz789"
}
Response
{
  "data": {
    "createCustomer": {
      "id": 4,
      "localId": 4,
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "preferences": [4],
      "goodOnlineAccountStanding": false,
      "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": 987,
      "demographic": 987,
      "apiTokenForCustomer": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "xyz789",
      "email": "xyz789",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "xyz789",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "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"],
      "isSubBilling": true
    }
  }
}

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": "xyz789",
  "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": "abc123",
      "thumbnailUrl": "xyz789",
      "smallUrl": "abc123",
      "largeUrl": "xyz789",
      "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": "xyz789"
}
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": "abc123"}}

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": ["abc123"]}
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": true,
      "prefDelivery": true,
      "prefPressing": true,
      "prefInspection": true,
      "prefSpotting": false,
      "prefAlteration": true,
      "prefWashing": true,
      "mpOffloadArm": "xyz789",
      "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
      isSubBilling
    }
    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": true}
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": "abc123",
      "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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    agents {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
  }
}
Variables
{"input": BrandInput}
Response
{
  "data": {
    "putBrand": {
      "id": 4,
      "localId": "4",
      "name": "abc123",
      "brandId": "xyz789",
      "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": "abc123",
      "isPrivate": false,
      "userIds": ["4"],
      "agents": [4],
      "usersAllowedToPost": ["4"],
      "isNotificationsRoom": false,
      "isRequired": false,
      "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": "abc123",
  "type": "visa",
  "last4": 987,
  "expiryMonth": 987,
  "expiryYear": 987,
  "addedBy": "customer"
}
Response
{"data": {"putCreditCard": "abc123"}}

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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{
  "customerId": "4",
  "input": CustomerInput,
  "promotionToApply": "xyz789"
}
Response
{
  "data": {
    "putCustomer": {
      "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": "xyz789",
      "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": "xyz789",
      "email": "xyz789",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "abc123",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "companyName": "xyz789",
      "fullName": "abc123",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"],
      "isSubBilling": false
    }
  }
}

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": "xyz789",
  "addresses": [CustomerAddressInput],
  "updateDeliveries": true
}
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": "xyz789",
      "possibleValues": ["xyz789"],
      "shownProfile": false,
      "shownPosSignUp": false,
      "shownCustomerWebsite": false,
      "shownCustomerWebsiteSignUp": true,
      "elasticKey": "xyz789",
      "disabled": true,
      "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
      isSubBilling
    }
    isStaging
    detailedItemData {
      id
      localId
      description
      photo {
        ...PhotoFragment
      }
      annotations {
        ...AnnotationFragment
      }
    }
  }
}
Variables
{
  "customerId": "abc123",
  "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
      isSubBilling
    }
    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": "xyz789",
  "amount": "abc123",
  "status": "abc123",
  "comment": "abc123"
}
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": false,
      "isDelivery": true,
      "hasChangedReturnLocation": false,
      "isPaid": true,
      "buyPrice": 987.65,
      "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": "xyz789",
        "sort": 123,
        "description": "xyz789",
        "disabled": true,
        "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": "abc123",
      "requiredFields": ["xyz789"],
      "requiredSpecialCares": ["xyz789"],
      "itemTypeCondition": ["abc123"],
      "departmentCondition": ["abc123"],
      "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": "abc123",
      "subject": "abc123",
      "broadcastType": "xyz789",
      "message": "xyz789",
      "customerKpiId": "xyz789",
      "emailTemplateId": "xyz789",
      "status": "xyz789",
      "dateCreated": 987.65,
      "dateSent": "xyz789",
      "emailHtmlTemplate": "abc123",
      "sentBy": "xyz789",
      "scheduledBy": "abc123",
      "scheduledDate": "xyz789"
    }
  }
}

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": "abc123",
      "subject": "xyz789",
      "jsonTemplate": "xyz789",
      "htmlTemplate": "xyz789"
    }
  }
}

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": "abc123",
      "endDate": "xyz789"
    }
  }
}

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": false,
      "isDefault": true,
      "name": "xyz789",
      "rate": 123.45,
      "useAutoTaxJar": true,
      "addressSpecific": true,
      "zipCondition": "abc123",
      "departmentCondition": ["xyz789"],
      "agentCondition": ["xyz789"]
    }
  }
}

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": true}}

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": true}}

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": true}}

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": false}
Response
{"data": {"sendCustomerSignupText": true}}

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": "xyz789"}
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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{"customerId": "4"}
Response
{
  "data": {
    "setCurrentCustomer": {
      "id": "4",
      "localId": 4,
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "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": false,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "xyz789",
      "email": "abc123",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "abc123",
      "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": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"],
      "isSubBilling": false
    }
  }
}

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": "xyz789",
  "authCode": "xyz789"
}
Response
{"data": {"setStation": "abc123"}}

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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{"routeId": 4, "sortedStopIds": [4]}
Response
{
  "data": {
    "sortDeliveryStops": [
      {
        "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": "abc123",
        "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": "xyz789",
        "email": "xyz789",
        "cellPhone": "abc123",
        "cellPhoneDisplay": "xyz789",
        "homePhone": "abc123",
        "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": 123.45,
        "rewards": [Reward],
        "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"],
        "isSubBilling": false
      }
    ]
  }
}

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": false}}

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": false}}

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": false}}

startTextSignIn

Description

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

Response

Returns a StartTextSignInResponse

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) {
    id
    localId
    phoneNumber
    authProcess
  }
}
Variables
{"phoneNumber": "abc123"}
Response
{
  "data": {
    "startTextSignIn": {
      "id": "4",
      "localId": 4,
      "phoneNumber": "abc123",
      "authProcess": "LOGIN_ONGOING"
    }
  }
}

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": "xyz789",
  "paymentReference": "abc123"
}
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": "abc123"
}
Response
{"data": {"unloadTicketsOnMPArm": true}}

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": "xyz789",
      "noProduction": false,
      "noDelivery": false,
      "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": "abc123",
      "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": "xyz789",
      "city": "xyz789",
      "state": "abc123",
      "zip": "xyz789",
      "country": "xyz789",
      "latitude": "xyz789",
      "longitude": "abc123",
      "skipVerification": true,
      "manualLocation": true,
      "note": "abc123",
      "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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{"input": ValidateCustomerCredentialsInput}
Response
{
  "data": {
    "validateCustomerCredentials": {
      "id": 4,
      "localId": 4,
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "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": "xyz789",
      "firstName": "abc123",
      "lastName": "abc123",
      "companyName": "abc123",
      "fullName": "xyz789",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": false,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 123.45,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"],
      "isSubBilling": false
    }
  }
}

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
      }
      counterToRouteCampaign {
        ...CounterToRouteCampaignFragment
      }
      monthlyNewsletterCampaign {
        ...MonthlyNewsletterCampaignFragment
      }
      happyAnniversaryCampaign {
        ...HappyAnniversaryCampaignFragment
      }
      inventoryReminderCampaign {
        ...InventoryReminderCampaignFragment
      }
      oneAndDoneCampaign {
        ...OneAndDoneCampaignFragment
      }
      marketingByDepartmentCampaign {
        ...MarketingByDepartmentCampaignFragment
      }
      thankYouTopSpendersCampaign {
        ...ThankYouTopSpendersCampaignFragment
      }
      newCustomerRetentionCampaign {
        ...NewCustomerRetentionCampaignFragment
      }
      customerSignupNoOrdersCampaign {
        ...CustomerSignupNoOrdersCampaignFragment
      }
      noOrdersSinceLastCampaign {
        ...NoOrdersSinceLastCampaignFragment
      }
      updateYourInformationCampaign {
        ...UpdateYourInformationCampaignFragment
      }
      quarterlyComforterCampaign {
        ...QuarterlyComforterCampaignFragment
      }
      thankYouNewReviewCampaign {
        ...ThankYouNewReviewCampaignFragment
      }
      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
      rushOrderSurcharge
      rushOrderSurchargeTier2
      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
      weightUnit
      segmentWriteKey
    }
    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
      disabled
    }
    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
    isSubBilling
  }
}
Variables
{
  "phone": "abc123",
  "accessCode": "abc123"
}
Response
{
  "data": {
    "validateCustomerKioskCredentials": {
      "id": "4",
      "localId": 4,
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "abc123",
      "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": false,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 987,
      "apiTokenForCustomer": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "kioskAccessCode": "xyz789",
      "email": "xyz789",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "xyz789",
      "activePhone": "xyz789",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "companyName": "abc123",
      "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"],
      "isSubBilling": false
    }
  }
}

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}}

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": "abc123",
  "code": "xyz789",
  "customerFields": SignUpCustomerFields
}
Response
{"data": {"verifyTextSignIn": "LOGIN_ONGOING"}}

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": "xyz789",
  "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": "xyz789",
  "agentId": 4,
  "agentType": "abc123",
  "isStripeEnabled": false,
  "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": true,
  "prefCustomer": false,
  "prefDelivery": true,
  "prefPressing": false,
  "prefInspection": false,
  "prefSpotting": true,
  "prefAlteration": false,
  "prefWashing": true,
  "mpOffloadArm": "xyz789",
  "active": true
}

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": "xyz789",
  "prefTicket": false,
  "prefCustomer": true,
  "prefDelivery": false,
  "prefPressing": false,
  "prefInspection": true,
  "prefSpotting": true,
  "prefAlteration": true,
  "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": true
}

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": 123,
  "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": "xyz789",
  "departments": [FinancialDepartment],
  "customer": Customer,
  "address": CustomerAddress,
  "driver": User,
  "regular": true,
  "anytime": false,
  "status": "incomplete",
  "appointmentLinkId": 4,
  "photos": [Photo],
  "lockerCode": "4",
  "vehicleStatus": DeliveryVehicleStatus,
  "stopNumber": 123
}

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": 123,
  "selectedMonth": 123,
  "selectedYear": 123,
  "timeSlotId": "xyz789",
  "routeId": "abc123",
  "driverInstructions": "abc123",
  "cleaningInstructions": "xyz789",
  "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": true,
  "priority": "abc123",
  "customerKpiId": "xyz789",
  "dayToSend": 123,
  "email": "abc123",
  "sms": "xyz789"
}

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": true,
  "priority": "xyz789",
  "customerKpiId": "abc123",
  "email": "abc123",
  "sms": "abc123",
  "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": "xyz789",
  "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": "abc123",
  "value": true
}

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]
}