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
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    employeeSettings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    stores {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      googlePlaceId
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    storesForCurrentBrand {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      googlePlaceId
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    communicationTemplatesList {
      id
      localId
      name
      categories {
        ...CommunicationTemplateCategoryFragment
      }
    }
    contactCommunicationTemplates {
      id
      localId
      name
      categories {
        ...CommunicationTemplateCategoryFragment
      }
    }
    employees {
      id
      localId
      name
      firstName
    }
    routes {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      type
      isSubRoute
      masterRouteId
      pickupCutoffHours
      deliveryCutoffHours
      autoOptimize
    }
    routesOnDate {
      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
      }
      isWalled
    }
    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
      isDisabledInCustomerApp
      price
      priceDisplay
      showInDetailing
      description
      departmentId
      defaultImageUrl
    }
    subscriptions {
      id
      localId
      name
      category {
        ...ItemCategoryFragment
      }
      active
      isDisabledInCustomerApp
      price
      priceDisplay
      showInDetailing
      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
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    getCustomers {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    getOrder {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      isPaidForDelivery
      buyPrice
      pieceCount
      status
      items {
        ...OrderItemFragment
      }
      bags {
        ...OrderBagFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
      customerOrderStatusText
      receiptLink
      lastPaymentWasDeclined
    }
    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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    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
      hasPromotion
    }
    marketingBroadcasts {
      id
      localId
      name
      subject
      broadcastType
      message
      customerInclusionKpiIdList
      customerExclusionKpiIdList
      emailTemplateId
      status
      dateCreated
      dateSent
      emailHtmlTemplate
      sentBy
      scheduledBy
      scheduledDate
      promotion
      autoApplyPromo
      optimizeEmailDelivery
    }
    marketingFilters {
      id
      localId
      report
      title
      total
    }
    stripePublishableKey
    promotions {
      id
      localId
      name
      couponCode
      customerCouponCode
      disabled
      validForMarketing
    }
    lockers {
      id
      localId
      address {
        ...CustomerAddressFragment
      }
    }
    geoFences {
      id
      localId
      name
      brand {
        ...BrandFragment
      }
      route {
        ...RouteFragment
      }
      polygon
      color
      isDisabled
      createdAt
    }
    uniqueTwilioErrors {
      id
      localId
      name
    }
  }
}
Response
{
  "data": {
    "business": {
      "id": "4",
      "localId": "4",
      "shortId": 987,
      "subdomain": "xyz789",
      "settings": Settings,
      "employeeSettings": Settings,
      "stores": [Store],
      "storesForCurrentBrand": [Store],
      "communicationTemplatesList": [
        CommunicationTemplates
      ],
      "contactCommunicationTemplates": CommunicationTemplates,
      "employees": [User],
      "routes": [Route],
      "routesOnDate": [Route],
      "groups": [Group],
      "notes": [Note],
      "brands": [Brand],
      "agents": [Agent],
      "holidays": [Holiday],
      "itemCategories": [ItemCategory],
      "itemTypes": [ItemType],
      "subscriptions": [ItemType],
      "taxRates": [TaxRate],
      "paymentMethods": [PaymentMethod],
      "taxConfigurationRules": [TaxConfigurationRule],
      "itemValidationRules": [ItemValidationRule],
      "itemFields": [ItemField],
      "financialDepartments": [FinancialDepartment],
      "specialCares": [SpecialCare],
      "alertTypes": [AlertType],
      "alertSubTypes": [AlertSubType],
      "chatRooms": [ChatRoom],
      "customerFields": [CustomerField],
      "usesPaymentSystem": true,
      "getCustomer": Customer,
      "getCustomers": [Customer],
      "getOrder": Order,
      "getAppointment": Appointment,
      "queryReports": QueryReportsResult,
      "productionStationStatistics": ProductionStationStatistics,
      "merchants": [Merchant],
      "surcharges": [Surcharge],
      "customPriceLists": [PriceList],
      "marketingEmailTemplates": [MarketingEmailTemplate],
      "marketingBroadcasts": [MarketingBroadcast],
      "marketingFilters": [MarketingFilterResponse],
      "stripePublishableKey": "xyz789",
      "promotions": [Promotion],
      "lockers": [Locker],
      "geoFences": [GeoFence],
      "uniqueTwilioErrors": [UniqueTwilioError]
    }
  }
}

businessReviews

Description

Returns all business reviews for multiple locations

Response

Returns a LocationReviews!

Arguments
Name Description
pageSize - Int How many reviews to fetch per page. The maximum pageSize is 50.
pageToken - String The token to retrieve the next page of reviews.
orderBy - String The order in which reviews are listed. Valid orders to sort by are rating, rating desc and updateTime desc.

Example

Query
query BusinessReviews(
  $pageSize: Int,
  $pageToken: String,
  $orderBy: String
) {
  businessReviews(
    pageSize: $pageSize,
    pageToken: $pageToken,
    orderBy: $orderBy
  ) {
    id
    localId
    locationReviews {
      id
      localId
      name
      review {
        ...ReviewFragment
      }
    }
    nextPageToken
  }
}
Variables
{
  "pageSize": 987,
  "pageToken": "abc123",
  "orderBy": "abc123"
}
Response
{
  "data": {
    "businessReviews": {
      "id": 4,
      "localId": "4",
      "locationReviews": [LocationReview],
      "nextPageToken": "abc123"
    }
  }
}

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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    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
      }
    }
    defaultDeliveryAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    isMasterDeliveryAccount
    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
      validForMarketing
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    subscriptionUsage {
      id
      localId
      type
      limit
      usage
    }
    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
      googlePlaceId
      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
    deliveryNotes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    communication {
      id
      localId
      direction
      type
      date
      subject
      staff {
        ...UserFragment
      }
      contactFlag
      body
    }
  }
}
Response
{
  "data": {
    "currentCustomer": {
      "id": 4,
      "localId": 4,
      "name": "abc123",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": [4],
      "goodOnlineAccountStanding": false,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "defaultDeliveryAddress": CustomerAddress,
      "isMasterDeliveryAccount": false,
      "creditCardIFrameURL": "abc123",
      "authenticatedCustomerSiteLink": "abc123",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 987,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "subscriptionUsage": [SubscriptionUsage],
      "kioskAccessCode": "abc123",
      "email": "abc123",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "abc123",
      "homePhone": "xyz789",
      "activePhone": "abc123",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "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,
      "deliveryNotes": [Note],
      "communication": [Communication]
    }
  }
}

currentStation

Description

The station the user is signed into

Response

Returns a Station

Example

Query
query CurrentStation {
  currentStation {
    id
    localId
    name
    store {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      googlePlaceId
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    type {
      id
      localId
      name
      category
    }
    lastUsed
    deliveryVehicle {
      id
      localId
      name
      typeName
    }
  }
}
Response
{
  "data": {
    "currentStation": {
      "id": "4",
      "localId": "4",
      "name": "xyz789",
      "store": Store,
      "type": StationType,
      "lastUsed": "2007-12-03T10:15:30Z",
      "deliveryVehicle": Rack
    }
  }
}

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
    googlePlaceId
    stations {
      id
      localId
      name
      store {
        ...StoreFragment
      }
      type {
        ...StationTypeFragment
      }
      lastUsed
      deliveryVehicle {
        ...RackFragment
      }
    }
    hasCounterStation
  }
}
Response
{
  "data": {
    "currentStore": {
      "id": 4,
      "localId": "4",
      "agentId": "4",
      "agentType": "abc123",
      "name": "abc123",
      "isStripeEnabled": false,
      "merchant": Merchant,
      "phone": "abc123",
      "address": "xyz789",
      "city": "xyz789",
      "state": "abc123",
      "zip": "abc123",
      "latitude": 987.65,
      "longitude": 123.45,
      "externalStoreIdentifier": "abc123",
      "googlePlaceId": "abc123",
      "stations": [Station],
      "hasCounterStation": false
    }
  }
}

currentUser

Description

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

Response

Returns a User

Example

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

customerCountFromMarketingFilter

Description

Gets number of customers that will receive a marketing broadcast/campaign

Response

Returns an Int!

Arguments
Name Description
customerInclusionKpiIdList - [String]!
customerExclusionKpiIdList - [String]!

Example

Query
query CustomerCountFromMarketingFilter(
  $customerInclusionKpiIdList: [String]!,
  $customerExclusionKpiIdList: [String]!
) {
  customerCountFromMarketingFilter(
    customerInclusionKpiIdList: $customerInclusionKpiIdList,
    customerExclusionKpiIdList: $customerExclusionKpiIdList
  )
}
Variables
{
  "customerInclusionKpiIdList": ["abc123"],
  "customerExclusionKpiIdList": ["abc123"]
}
Response
{"data": {"customerCountFromMarketingFilter": 987}}

customerPreferences

Description

A list of customer preference sections

Example

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

customerStop

Description

Returns stop data for a delivery appointment

Response

Returns a CustomerStop

Arguments
Name Description
id - ID! The ID of the stop. Same as an appointment ID

Example

Query
query CustomerStop($id: ID!) {
  customerStop(id: $id) {
    id
    localId
    appointment {
      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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    orders {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      isPaidForDelivery
      buyPrice
      pieceCount
      status
      items {
        ...OrderItemFragment
      }
      bags {
        ...OrderBagFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
      customerOrderStatusText
      receiptLink
      lastPaymentWasDeclined
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "customerStop": {
      "id": 4,
      "localId": 4,
      "appointment": Appointment,
      "customer": Customer,
      "orders": [Order]
    }
  }
}

customerStops

Description

Returns delivery stops for a given route and day

Response

Returns [CustomerStop!]!

Arguments
Name Description
routeId - ID!
date - DateTime!

Example

Query
query CustomerStops(
  $routeId: ID!,
  $date: DateTime!
) {
  customerStops(
    routeId: $routeId,
    date: $date
  ) {
    id
    localId
    appointment {
      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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    orders {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      isPaidForDelivery
      buyPrice
      pieceCount
      status
      items {
        ...OrderItemFragment
      }
      bags {
        ...OrderBagFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
      customerOrderStatusText
      receiptLink
      lastPaymentWasDeclined
    }
  }
}
Variables
{
  "routeId": 4,
  "date": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "customerStops": [
      {
        "id": 4,
        "localId": "4",
        "appointment": Appointment,
        "customer": Customer,
        "orders": [Order]
      }
    ]
  }
}

googleAccounts

Description

List of Google accounts

Response

Returns [GoogleAccount]!

Example

Query
query GoogleAccounts {
  googleAccounts {
    id
    localId
    name
    locations {
      id
      localId
      name
      address
      storeCode
      placeId
    }
  }
}
Response
{
  "data": {
    "googleAccounts": [
      {
        "id": "4",
        "localId": "4",
        "name": "abc123",
        "locations": [GoogleLocation]
      }
    ]
  }
}

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

preAllocatedOrderIds

Description

Returns a list of allocated order ids to use

Response

Returns [Int!]!

Arguments
Name Description
count - Int!

Example

Query
query PreAllocatedOrderIds($count: Int!) {
  preAllocatedOrderIds(count: $count)
}
Variables
{"count": 987}
Response
{"data": {"preAllocatedOrderIds": [123]}}

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
    signupAddressRequired
    signupEmailRequired
    customerFields {
      id
      localId
      fieldType
      label
      possibleValues
      shownProfile
      shownPosSignUp
      shownCustomerWebsite
      shownCustomerWebsiteSignUp
      elasticKey
      disabled
      isRequired
    }
    defaultLanguage
    fullstoryEnabled
    settings {
      localId
      id
      customSignupUrl
    }
    localId
  }
}
Response
{
  "data": {
    "publicBusiness": {
      "id": "4",
      "businessName": "xyz789",
      "logoUrl": "abc123",
      "phoneNumber": "xyz789",
      "streetAddress": "xyz789",
      "cityAddress": "xyz789",
      "zipAddress": "xyz789",
      "stateAddress": "xyz789",
      "signupAddressRequired": true,
      "signupEmailRequired": false,
      "customerFields": [CustomerField],
      "defaultLanguage": "abc123",
      "fullstoryEnabled": true,
      "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
      }
    }
    locationLabel
  }
}
Variables
{
  "customerId": "4",
  "lockerCode": "abc123"
}
Response
{
  "data": {
    "rackByLockerCode": {
      "id": 4,
      "localId": "4",
      "rack": RackCfg,
      "address": CustomerAddress,
      "locationLabel": "abc123"
    }
  }
}

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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    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
      }
    }
    defaultDeliveryAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    isMasterDeliveryAccount
    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
      validForMarketing
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    subscriptionUsage {
      id
      localId
      type
      limit
      usage
    }
    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
      googlePlaceId
      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
    deliveryNotes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    communication {
      id
      localId
      direction
      type
      date
      subject
      staff {
        ...UserFragment
      }
      contactFlag
      body
    }
  }
}
Variables
{
  "customerId": "4",
  "routeId": 4,
  "preference": "NO_PREFERENCE"
}
Response
{
  "data": {
    "addCustomerToRoute": {
      "id": "4",
      "localId": "4",
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": ["4"],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "defaultDeliveryAddress": CustomerAddress,
      "isMasterDeliveryAccount": true,
      "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": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "subscriptionUsage": [SubscriptionUsage],
      "kioskAccessCode": "abc123",
      "email": "xyz789",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "abc123",
      "homePhone": "xyz789",
      "activePhone": "abc123",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "companyName": "abc123",
      "fullName": "xyz789",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 987.65,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"],
      "isSubBilling": true,
      "deliveryNotes": [Note],
      "communication": [Communication]
    }
  }
}

addUserToChatRoom

Description

Add a chat user to a room

Response

Returns a Boolean!

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

Example

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

appendSpecialChatMessageContent

Description

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

Response

Returns a String!

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

Example

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

applyPromotion

Description

Applies promotion code to customer. Requires access level: Customer or Admin

Response

Returns a Boolean!

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

Example

Query
mutation ApplyPromotion(
  $customerId: ID,
  $promotionToApply: String
) {
  applyPromotion(
    customerId: $customerId,
    promotionToApply: $promotionToApply
  )
}
Variables
{
  "customerId": "4",
  "promotionToApply": "xyz789"
}
Response
{"data": {"applyPromotion": false}}

buildRouteAction

Description

Creates a customer stop given bag barcode, route and day

Response

Returns a BuildRoute!

Arguments
Name Description
input - BuildRouteActionInput!

Example

Query
mutation BuildRouteAction($input: BuildRouteActionInput!) {
  buildRouteAction(input: $input) {
    id
    localId
    barcode
    extraMessage
    customerName
  }
}
Variables
{"input": BuildRouteActionInput}
Response
{
  "data": {
    "buildRouteAction": {
      "id": 4,
      "localId": 4,
      "barcode": "abc123",
      "extraMessage": "abc123",
      "customerName": "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": false}}

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

changeStopOrderDeliveryAction

Description

Changes the order of a delivery stop

Response

Returns a Boolean!

Arguments
Name Description
input - ChangeStopOrderDeliveryActionInput!

Example

Query
mutation ChangeStopOrderDeliveryAction($input: ChangeStopOrderDeliveryActionInput!) {
  changeStopOrderDeliveryAction(input: $input)
}
Variables
{"input": ChangeStopOrderDeliveryActionInput}
Response
{"data": {"changeStopOrderDeliveryAction": false}}

clearCurrentCustomer

Response

Returns a Boolean

Example

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

completeStopDeliveryAction

Description

Marks a delivery stop completed. Requires a valid Delivery station cookie

Response

Returns a CustomerStop!

Arguments
Name Description
input - CompleteStopDeliveryActionInput!

Example

Query
mutation CompleteStopDeliveryAction($input: CompleteStopDeliveryActionInput!) {
  completeStopDeliveryAction(input: $input) {
    id
    localId
    appointment {
      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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    orders {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      isPaidForDelivery
      buyPrice
      pieceCount
      status
      items {
        ...OrderItemFragment
      }
      bags {
        ...OrderBagFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
      customerOrderStatusText
      receiptLink
      lastPaymentWasDeclined
    }
  }
}
Variables
{"input": CompleteStopDeliveryActionInput}
Response
{
  "data": {
    "completeStopDeliveryAction": {
      "id": 4,
      "localId": "4",
      "appointment": Appointment,
      "customer": Customer,
      "orders": [Order]
    }
  }
}

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.
name - String Optional name of the station. If not provided, a name will be auto generated

Example

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

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

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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    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
      }
    }
    defaultDeliveryAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    isMasterDeliveryAccount
    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
      validForMarketing
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    subscriptionUsage {
      id
      localId
      type
      limit
      usage
    }
    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
      googlePlaceId
      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
    deliveryNotes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    communication {
      id
      localId
      direction
      type
      date
      subject
      staff {
        ...UserFragment
      }
      contactFlag
      body
    }
  }
}
Variables
{
  "input": CustomerInput,
  "agentId": "abc123"
}
Response
{
  "data": {
    "createCustomer": {
      "id": 4,
      "localId": "4",
      "name": "xyz789",
      "futureAppointments": [Appointment],
      "settings": Settings,
      "group": Group,
      "agent": Agent,
      "routeHolds": [CustomerRouteHold],
      "driverInstructions": "xyz789",
      "preferences": [4],
      "goodOnlineAccountStanding": false,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "defaultDeliveryAddress": CustomerAddress,
      "isMasterDeliveryAccount": true,
      "creditCardIFrameURL": "abc123",
      "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,
      "subscriptionUsage": [SubscriptionUsage],
      "kioskAccessCode": "abc123",
      "email": "xyz789",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "abc123",
      "homePhone": "xyz789",
      "activePhone": "xyz789",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "companyName": "abc123",
      "fullName": "abc123",
      "store": Store,
      "customFields": [CustomerFieldValue],
      "isInSignupProcess": true,
      "paymentStatus": PaymentStatus,
      "wardrobeCategories": [ItemCategory],
      "wardrobeItems": [OrderItem],
      "paymentPreference": "AUTOPAY",
      "rewardPoints": 123.45,
      "rewards": [Reward],
      "missingRewardSettingCriteria": ["ADD_EMAIL_CRITERIA"],
      "isSubBilling": true,
      "deliveryNotes": [Note],
      "communication": [Communication]
    }
  }
}

createDefaultMarketingReport

Description

Creates a default marketing report

Response

Returns a Boolean

Arguments
Name Description
marketingReport - MarketingReportInput! The marketing report to create

Example

Query
mutation CreateDefaultMarketingReport($marketingReport: MarketingReportInput!) {
  createDefaultMarketingReport(marketingReport: $marketingReport)
}
Variables
{"marketingReport": MarketingReportInput}
Response
{"data": {"createDefaultMarketingReport": false}}

createNotificationForEmployees

Description

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

Response

Returns a Boolean!

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

Example

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

createPayment

Description

Creates a payment

Response

Returns a PaymentStatus!

Arguments
Name Description
input - CreatePaymentInput!

Example

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

createPhoto

Description

Creates a photo from a base64 string

Response

Returns a Photo

Arguments
Name Description
input - PhotoInput!

Example

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

deactivateAccount

Description

Deactivates customer account. Requires access level: Sales Clerk

Response

Returns an ID!

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

Example

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

deleteMarketingBroadcast

Description

Delete a marketing broadcast.

Response

Returns an ID

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

Example

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

deleteMarketingEmailTemplate

Description

Delete an marketing email template.

Response

Returns an ID

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

Example

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

deleteReviewReply

Description

Deletes a reply to a review

Response

Returns a Boolean!

Arguments
Name Description
reviewName - String!

Example

Query
mutation DeleteReviewReply($reviewName: String!) {
  deleteReviewReply(reviewName: $reviewName)
}
Variables
{"reviewName": "xyz789"}
Response
{"data": {"deleteReviewReply": true}}

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

deliverBagDeliveryAction

Description

Delivers a bag to its customer. Requires a valid Delivery station cookie

Response

Returns a CustomerStop!

Arguments
Name Description
input - DeliverBagDeliveryActionInput!

Example

Query
mutation DeliverBagDeliveryAction($input: DeliverBagDeliveryActionInput!) {
  deliverBagDeliveryAction(input: $input) {
    id
    localId
    appointment {
      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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    orders {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      isPaidForDelivery
      buyPrice
      pieceCount
      status
      items {
        ...OrderItemFragment
      }
      bags {
        ...OrderBagFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
      customerOrderStatusText
      receiptLink
      lastPaymentWasDeclined
    }
  }
}
Variables
{"input": DeliverBagDeliveryActionInput}
Response
{
  "data": {
    "deliverBagDeliveryAction": {
      "id": "4",
      "localId": 4,
      "appointment": Appointment,
      "customer": Customer,
      "orders": [Order]
    }
  }
}

disconnectGoogleAccount

Description

Disconnects the Google account from the Business

Response

Returns a Boolean!

Example

Query
mutation DisconnectGoogleAccount {
  disconnectGoogleAccount
}
Response
{"data": {"disconnectGoogleAccount": true}}

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

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

loadBagDeliveryAction

Description

Loads a bag into a delivery van. Requires a valid Delivery station cookie

Response

Returns a CustomerStop!

Arguments
Name Description
input - LoadBagDeliveryActionInput!

Example

Query
mutation LoadBagDeliveryAction($input: LoadBagDeliveryActionInput!) {
  loadBagDeliveryAction(input: $input) {
    id
    localId
    appointment {
      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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    customer {
      id
      localId
      name
      futureAppointments {
        ...AppointmentFragment
      }
      settings {
        ...SettingsFragment
      }
      group {
        ...GroupFragment
      }
      agent {
        ...AgentFragment
      }
      routeHolds {
        ...CustomerRouteHoldFragment
      }
      driverInstructions
      preferences
      goodOnlineAccountStanding
      addresses {
        ...CustomerAddressFragment
      }
      defaultAddress {
        ...CustomerAddressFragment
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    orders {
      id
      localId
      displayId
      date
      dueDate
      deliveredDate
      customer {
        ...CustomerFragment
      }
      pickupStore {
        ...StoreFragment
      }
      dropStore {
        ...StoreFragment
      }
      isPickup
      isDelivery
      hasChangedReturnLocation
      isPaid
      isPaidForDelivery
      buyPrice
      pieceCount
      status
      items {
        ...OrderItemFragment
      }
      bags {
        ...OrderBagFragment
      }
      customerProvidedDetails {
        ...DetailedCustomerOrderFragment
      }
      customerOrderStatusText
      receiptLink
      lastPaymentWasDeclined
    }
  }
}
Variables
{"input": LoadBagDeliveryActionInput}
Response
{
  "data": {
    "loadBagDeliveryAction": {
      "id": "4",
      "localId": "4",
      "appointment": Appointment,
      "customer": Customer,
      "orders": [Order]
    }
  }
}

mailgunValidateEmail

Description

Validates an email address using the Mailgun API

Response

Returns a String!

Arguments
Name Description
email - String! Email address

Example

Query
mutation MailgunValidateEmail($email: String!) {
  mailgunValidateEmail(email: $email)
}
Variables
{"email": "abc123"}
Response
{"data": {"mailgunValidateEmail": "xyz789"}}

pickupOrdersHeimacKiosk

Description

Pickup orders through Heimac Kiosk

Response

Returns a Boolean

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

Example

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

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

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": false,
      "prefSpotting": false,
      "prefAlteration": false,
      "prefWashing": true,
      "mpOffloadArm": "xyz789",
      "active": false
    }
  }
}

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
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    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
    locationLabel
    vehicleStatus {
      id
      localId
      driverName
      driverPhone
      lastPositionAt
      currentLatitude
      currentLongitude
      stopsLeft
    }
    stopNumber
    deliveryPhoto {
      id
      localId
      status
      thumbnailUrl
      smallUrl
      largeUrl
      description
    }
  }
}
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": "xyz789",
      "departments": [FinancialDepartment],
      "customer": Customer,
      "address": CustomerAddress,
      "driver": User,
      "regular": true,
      "anytime": true,
      "status": "incomplete",
      "appointmentLinkId": 4,
      "photos": [Photo],
      "lockerCode": 4,
      "locationLabel": "4",
      "vehicleStatus": DeliveryVehicleStatus,
      "stopNumber": 987,
      "deliveryPhoto": Photo
    }
  }
}

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
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    agents {
      id
      localId
      name
      agentId
      agentType
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
    }
    isWalled
  }
}
Variables
{"input": BrandInput}
Response
{
  "data": {
    "putBrand": {
      "id": 4,
      "localId": "4",
      "name": "xyz789",
      "brandId": "xyz789",
      "settings": Settings,
      "agents": [Agent],
      "isWalled": false
    }
  }
}

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": "abc123",
      "specialRoomType": "xyz789",
      "isPrivate": false,
      "userIds": ["4"],
      "agents": ["4"],
      "usersAllowedToPost": ["4"],
      "isNotificationsRoom": false,
      "isRequired": true,
      "chatMessages": [ChatMessage]
    }
  }
}

putContactLogEmail

Description

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

Response

Returns a Boolean

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

Example

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

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": 123,
  "expiryYear": 123,
  "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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    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
      }
    }
    defaultDeliveryAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    isMasterDeliveryAccount
    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
      validForMarketing
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    subscriptionUsage {
      id
      localId
      type
      limit
      usage
    }
    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
      googlePlaceId
      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
    deliveryNotes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    communication {
      id
      localId
      direction
      type
      date
      subject
      staff {
        ...UserFragment
      }
      contactFlag
      body
    }
  }
}
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": "abc123",
      "preferences": [4],
      "goodOnlineAccountStanding": true,
      "addresses": [CustomerAddress],
      "defaultAddress": CustomerAddress,
      "defaultDeliveryAddress": CustomerAddress,
      "isMasterDeliveryAccount": true,
      "creditCardIFrameURL": "xyz789",
      "authenticatedCustomerSiteLink": "abc123",
      "creditCard": CreditCard,
      "datesForSchedulingAppointment": [ScheduleDate],
      "unpaidOrders": UnpaidOrders,
      "finishedPayments": [PaymentReceipt],
      "customerBookings": [CustomerBooking],
      "stagingDetailedCustomerOrder": DetailedCustomerOrder,
      "readyBags": [CustomerBag],
      "isRouteCustomer": true,
      "customerRelationship": "STORE_ONLY",
      "deliveryStop": 123,
      "demographic": 123,
      "apiTokenForCustomer": "xyz789",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "subscriptionUsage": [SubscriptionUsage],
      "kioskAccessCode": "abc123",
      "email": "abc123",
      "cellPhone": "abc123",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "xyz789",
      "activePhone": "xyz789",
      "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,
      "deliveryNotes": [Note],
      "communication": [Communication]
    }
  }
}

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": true,
      "shownPosSignUp": true,
      "shownCustomerWebsite": false,
      "shownCustomerWebsiteSignUp": false,
      "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
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    isStaging
    detailedItemData {
      id
      localId
      description
      photo {
        ...PhotoFragment
      }
      annotations {
        ...AnnotationFragment
      }
    }
  }
}
Variables
{
  "customerId": "xyz789",
  "order": DetailedCustomerOrderInput
}
Response
{
  "data": {
    "putDetailedOrder": {
      "id": 4,
      "localId": "4",
      "customer": Customer,
      "isStaging": false,
      "detailedItemData": [DetailedItemData]
    }
  }
}

putGeoFence

Description

Creates or updates a geo-fence

Response

Returns a GeoFence!

Arguments
Name Description
input - GeoFenceInput!

Example

Query
mutation PutGeoFence($input: GeoFenceInput!) {
  putGeoFence(input: $input) {
    id
    localId
    name
    brand {
      id
      localId
      name
      brandId
      settings {
        ...SettingsFragment
      }
      agents {
        ...AgentFragment
      }
      isWalled
    }
    route {
      id
      localId
      agentId
      agentType
      name
      merchant {
        ...MerchantFragment
      }
      isStripeEnabled
      type
      isSubRoute
      masterRouteId
      pickupCutoffHours
      deliveryCutoffHours
      autoOptimize
    }
    polygon
    color
    isDisabled
    createdAt
  }
}
Variables
{"input": GeoFenceInput}
Response
{
  "data": {
    "putGeoFence": {
      "id": 4,
      "localId": 4,
      "name": "abc123",
      "brand": Brand,
      "route": Route,
      "polygon": [123.45],
      "color": "abc123",
      "isDisabled": false,
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

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
      }
      defaultDeliveryAddress {
        ...CustomerAddressFragment
      }
      isMasterDeliveryAccount
      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
      }
      subscriptionUsage {
        ...SubscriptionUsageFragment
      }
      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
      deliveryNotes {
        ...NoteFragment
      }
      communication {
        ...CommunicationFragment
      }
    }
    pickupStore {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      googlePlaceId
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    dropStore {
      id
      localId
      agentId
      agentType
      name
      isStripeEnabled
      merchant {
        ...MerchantFragment
      }
      phone
      address
      city
      state
      zip
      latitude
      longitude
      externalStoreIdentifier
      googlePlaceId
      stations {
        ...StationFragment
      }
      hasCounterStation
    }
    isPickup
    isDelivery
    hasChangedReturnLocation
    isPaid
    isPaidForDelivery
    buyPrice
    pieceCount
    status
    items {
      id
      localId
      type {
        ...ItemTypeFragment
      }
      barcode
      brandDisplay
      itemStatus {
        ...ItemStatusFragment
      }
      colors {
        ...ColorFragment
      }
      photo {
        ...PhotoFragment
      }
    }
    bags {
      id
      localId
      barcode
      label
      items {
        ...OrderItemFragment
      }
      rack {
        ...RackFragment
      }
      isReturnedToCustomer
      rackLocation {
        ...RackLogFragment
      }
      bagPackagingType
    }
    customerProvidedDetails {
      id
      localId
      customer {
        ...CustomerFragment
      }
      isStaging
      detailedItemData {
        ...DetailedItemDataFragment
      }
    }
    customerOrderStatusText
    receiptLink
    lastPaymentWasDeclined
  }
}
Variables
{
  "customerId": "4",
  "agentId": "xyz789",
  "amount": "xyz789",
  "status": "abc123",
  "comment": "xyz789"
}
Response
{
  "data": {
    "putImportOrder": {
      "id": "4",
      "localId": "4",
      "displayId": "4",
      "date": "2007-12-03T10:15:30Z",
      "dueDate": "2007-12-03T10:15:30Z",
      "deliveredDate": "2007-12-03T10:15:30Z",
      "customer": Customer,
      "pickupStore": Store,
      "dropStore": Store,
      "isPickup": true,
      "isDelivery": true,
      "hasChangedReturnLocation": false,
      "isPaid": true,
      "isPaidForDelivery": false,
      "buyPrice": 987.65,
      "pieceCount": 987,
      "status": "disabled",
      "items": [OrderItem],
      "bags": [OrderBag],
      "customerProvidedDetails": DetailedCustomerOrder,
      "customerOrderStatusText": "xyz789",
      "receiptLink": "xyz789",
      "lastPaymentWasDeclined": true
    }
  }
}

putItemCategories

Description

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

Response

Returns [ItemCategory]!

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

Example

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

putItemValidationRule

Description

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

Response

Returns an ItemValidationRule!

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

Example

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

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
    customerInclusionKpiIdList
    customerExclusionKpiIdList
    emailTemplateId
    status
    dateCreated
    dateSent
    emailHtmlTemplate
    sentBy
    scheduledBy
    scheduledDate
    promotion
    autoApplyPromo
    optimizeEmailDelivery
  }
}
Variables
{"input": MarketingBroadcastInput}
Response
{
  "data": {
    "putMarketingBroadcast": {
      "id": 4,
      "localId": "4",
      "name": "xyz789",
      "subject": "abc123",
      "broadcastType": "xyz789",
      "message": "xyz789",
      "customerInclusionKpiIdList": [
        "abc123"
      ],
      "customerExclusionKpiIdList": [
        "abc123"
      ],
      "emailTemplateId": "abc123",
      "status": "abc123",
      "dateCreated": 123.45,
      "dateSent": "xyz789",
      "emailHtmlTemplate": "abc123",
      "sentBy": "abc123",
      "scheduledBy": "xyz789",
      "scheduledDate": "abc123",
      "promotion": "abc123",
      "autoApplyPromo": false,
      "optimizeEmailDelivery": true
    }
  }
}

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
    hasPromotion
  }
}
Variables
{"input": MarketingEmailTemplateInput}
Response
{
  "data": {
    "putMarketingEmailTemplate": {
      "id": 4,
      "localId": 4,
      "name": "xyz789",
      "subject": "abc123",
      "jsonTemplate": "abc123",
      "htmlTemplate": "xyz789",
      "hasPromotion": true
    }
  }
}

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

putStorePlaceId

Description

Creates or updates a store place id

Response

Returns a Boolean!

Arguments
Name Description
placeId - ID!
storesToAdd - [ID]!
storesToRemove - [ID]!

Example

Query
mutation PutStorePlaceId(
  $placeId: ID!,
  $storesToAdd: [ID]!,
  $storesToRemove: [ID]!
) {
  putStorePlaceId(
    placeId: $placeId,
    storesToAdd: $storesToAdd,
    storesToRemove: $storesToRemove
  )
}
Variables
{
  "placeId": "4",
  "storesToAdd": [4],
  "storesToRemove": ["4"]
}
Response
{"data": {"putStorePlaceId": false}}

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

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

requestRouteRegular

Description

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

Response

Returns a Boolean

Example

Query
mutation RequestRouteRegular {
  requestRouteRegular
}
Response
{"data": {"requestRouteRegular": 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": "xyz789"
}
Response
{"data": {"sendCustomerMessage": false}}

sendCustomerNegativeFeedback

Description

Sends a negative feedback on an order 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 SendCustomerNegativeFeedback(
  $customerId: ID!,
  $message: String!
) {
  sendCustomerNegativeFeedback(
    customerId: $customerId,
    message: $message
  )
}
Variables
{"customerId": 4, "message": "xyz789"}
Response
{"data": {"sendCustomerNegativeFeedback": 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": "xyz789", "fromKiosk": false}
Response
{"data": {"sendCustomerSignupText": false}}

sendFeedbackClickTracking

Description

Send feedback click tracking for Feedback Email/Sms

Response

Returns a Boolean!

Arguments
Name Description
feedbackClickTracking - FeedbackClickTrackingInput!

Example

Query
mutation SendFeedbackClickTracking($feedbackClickTracking: FeedbackClickTrackingInput!) {
  sendFeedbackClickTracking(feedbackClickTracking: $feedbackClickTracking)
}
Variables
{"feedbackClickTracking": FeedbackClickTrackingInput}
Response
{"data": {"sendFeedbackClickTracking": 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": true}}

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

sendReviewReply

Description

Sends a reply to a review

Response

Returns a ReviewReply

Arguments
Name Description
reviewId - String!
reviewName - String!
reply - String!

Example

Query
mutation SendReviewReply(
  $reviewId: String!,
  $reviewName: String!,
  $reply: String!
) {
  sendReviewReply(
    reviewId: $reviewId,
    reviewName: $reviewName,
    reply: $reply
  ) {
    id
    localId
    comment
    updateTime
    replierName
  }
}
Variables
{
  "reviewId": "xyz789",
  "reviewName": "abc123",
  "reply": "abc123"
}
Response
{
  "data": {
    "sendReviewReply": {
      "id": "4",
      "localId": "4",
      "comment": "abc123",
      "updateTime": "abc123",
      "replierName": "xyz789"
    }
  }
}

sendTestMarketingBroadcast

Description

Sends a test marketing broadcast

Response

Returns a Boolean

Arguments
Name Description
input - MarketingBroadcastInput! The test broadcast to send

Example

Query
mutation SendTestMarketingBroadcast($input: MarketingBroadcastInput!) {
  sendTestMarketingBroadcast(input: $input)
}
Variables
{"input": MarketingBroadcastInput}
Response
{"data": {"sendTestMarketingBroadcast": 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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    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
      }
    }
    defaultDeliveryAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    isMasterDeliveryAccount
    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
      validForMarketing
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    subscriptionUsage {
      id
      localId
      type
      limit
      usage
    }
    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
      googlePlaceId
      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
    deliveryNotes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    communication {
      id
      localId
      direction
      type
      date
      subject
      staff {
        ...UserFragment
      }
      contactFlag
      body
    }
  }
}
Variables
{"customerId": "4"}
Response
{
  "data": {
    "setCurrentCustomer": {
      "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,
      "defaultDeliveryAddress": CustomerAddress,
      "isMasterDeliveryAccount": false,
      "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": "abc123",
      "activePromotions": [Promotion],
      "subscription": CustomerSubscription,
      "subscriptionUsage": [SubscriptionUsage],
      "kioskAccessCode": "abc123",
      "email": "xyz789",
      "cellPhone": "xyz789",
      "cellPhoneDisplay": "xyz789",
      "homePhone": "abc123",
      "activePhone": "xyz789",
      "firstName": "xyz789",
      "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,
      "deliveryNotes": [Note],
      "communication": [Communication]
    }
  }
}

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

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
      locationLabel
      vehicleStatus {
        ...DeliveryVehicleStatusFragment
      }
      stopNumber
      deliveryPhoto {
        ...PhotoFragment
      }
    }
    settings {
      id
      localId
      mainDeliveryStore {
        ...StoreFragment
      }
      mainStore {
        ...StoreFragment
      }
      quickDetailingItemTypes {
        ...ItemTypeFragment
      }
      defaultPaymentMethod {
        ...PaymentMethodFragment
      }
      acceptedPaymentMethods {
        ...PaymentMethodFragment
      }
      logo
      receiptLogo
      POSNewOrderTabs
      deliveryNewOrderTabs
      statementGenerationDays
      invoiceGenerationDays
      acceptedCards
      automaticSurcharges {
        ...AutomaticSurchargeFragment
      }
      detailingAttributes
      marketingCampaigns {
        ...CampaignSettingFragment
      }
      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
      }
      lostBigCustomerCampaign {
        ...LostBigCustomerCampaignFragment
      }
      reviewGenerationCampaign {
        ...ReviewGenerationCampaignFragment
      }
      customCampaign {
        ...CustomCampaignFragment
      }
      snapshotEmailList {
        ...SnapshotEmailListFragment
      }
      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
      allowOrderSplitting
      groupOnDetailingSplit
      offerStoreDelivery
      offerDeliverySchedulingInText
      useStoreZipCodeForTax
      summarizeByBillingCode
      showSalesTaxBreakdownForStatementOrders
      sumOrderTotalOnStatements
      simplifiedPaymentReceipt
      cashTotalRounding
      hasLogo
      isHotel
      isHotelProcessor
      isRoomGroupHotel
      isLockers
      isValet
      isWholesaler
      pickupUnpaidOrders
      pressOnlyDiscount
      scheduleWillCallAtAssembly
      scheduleWillCallOnDueDate
      dontIncludeOrdersInDeliveryListBeforeDueDate
      geoFencingEnabled
      allowSubDeliveryAccountScheduling
      allowSubAccountToTriggerMasterDelivery
      sendAutopayReceipts
      sendDeliveryAppointmentConfirmation
      showDeliveryNotPaid
      deliveryAppLoadListSortDescending
      requireSignatureOnDelivery
      requirePhotoOnDelivery
      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
      maxPaymentAmountWarning
      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
      campaignsEnabled
      broadcastsEnabled
      reviewModuleEnabled
      defaultLanguage
      weightUnit
      segmentWriteKey
      socialId
      twilioReviewNumber
    }
    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
      }
    }
    defaultDeliveryAddress {
      id
      localId
      name
      streetAddress
      streetAddress2
      city
      state
      zip
      country
      latitude
      longitude
      skipVerification
      manualLocation
      note
      photo {
        ...PhotoFragment
      }
    }
    isMasterDeliveryAccount
    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
      validForMarketing
    }
    subscription {
      id
      localId
      pending {
        ...CustomerSubscriptionEntryFragment
      }
      active {
        ...CustomerSubscriptionEntryFragment
      }
      log {
        ...CustomerSubscriptionLogFragment
      }
      renewalDate
    }
    subscriptionUsage {
      id
      localId
      type
      limit
      usage
    }
    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
      googlePlaceId
      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
    deliveryNotes {
      id
      localId
      date
      customer {
        ...CustomerFragment
      }
      message
      mainCategory
      subCategory
      status
      saleId
      itemId
      lastUpdated
      dueDate
      assignee {
        ...UserFragment
      }
      photos {
        ...PhotoFragment
      }
    }
    communication {
      id
      localId
      direction
      type
      date
      subject
      staff {
        ...UserFragment
      }
      contactFlag
      body
    }
  }
}
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": "abc123",
        "preferences": ["4"],
        "goodOnlineAccountStanding": false,
        "addresses": [CustomerAddress],
        "defaultAddress": CustomerAddress,
        "defaultDeliveryAddress": CustomerAddress,
        "isMasterDeliveryAccount": false,
        "creditCardIFrameURL": "abc123",
        "authenticatedCustomerSiteLink": "xyz789",
        "creditCard": CreditCard,
        "datesForSchedulingAppointment": [ScheduleDate],
        "unpaidOrders": UnpaidOrders,
        "finishedPayments": [PaymentReceipt],
        "customerBookings": [CustomerBooking],
        "stagingDetailedCustomerOrder": DetailedCustomerOrder,
        "readyBags": [CustomerBag],
        "isRouteCustomer": false,
        "customerRelationship": "STORE_ONLY",
        "deliveryStop": 987,
        "demographic": 123,
        "apiTokenForCustomer": "xyz789",
        "activePromotions": [Promotion],
        "subscription": CustomerSubscription,
        "subscriptionUsage": [SubscriptionUsage],
        "kioskAccessCode": "abc123",
        "email": "abc123",
        "cellPhone": "abc123",
        "cellPhoneDisplay": "xyz789",
        "homePhone": "abc123",
        "activePhone": "xyz789",
        "firstName": "abc123",
        "lastName": "xyz789",
        "companyName": "abc123",
        "fullName": "abc123",
        "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,
        "deliveryNotes": [Note],
        "communication": [Communication]
      }
    ]
  }
}

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": 123}
Response
{"data": {"startRouteOptimization": false}}

startTextSignIn

Description

Takes either a phone number or an email and sends a sign in code to the user

Response

Returns a StartTextSignInResponse

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

Example

Query
mutation StartTextSignIn(
  $phoneNumber: String,
  $email: String
) {
  startTextSignIn(
    phoneNumber: $phoneNumber,
    email: $email
  ) {
    id
    localId
    phoneNumber
    email
    authProcess
  }
}
Variables
{
  "phoneNumber": "abc123",
  "email": "xyz789"
}
Response
{
  "data": {
    "startTextSignIn": {
      "id": "4",
      "localId": 4,
      "phoneNumber": "abc123",
      "email": "xyz789",
      "authProcess": "LOGIN_ONGOING"
    }
  }
}

stationSignIn

Description

Staff station sign-in. Requires a valid station cookie.

Response

Returns a User!

Arguments
Name Description
signInMethod - StationSignInMethodEnum!
secret - String! The user's password, pin code or badge barcode depending on the sign-in method
username - String Required if signing in with password

Example

Query
mutation StationSignIn(
  $signInMethod: StationSignInMethodEnum!,
  $secret: String!,
  $username: String
) {
  stationSignIn(
    signInMethod: $signInMethod,
    secret: $secret,
    username: $username
  ) {
    id
    localId
    name
    firstName
  }
}
Variables
{
  "signInMethod": "password",
  "secret": "xyz789",
  "username": "abc123"
}
Response
{
  "data": {
    "stationSignIn": {
      "id": 4,
      "localId": 4,
      "name": "xyz789",
      "firstName": "abc123"
    }
  }
}

terminatePayment

Description

Terminates an ongoing payment

Response

Returns a PaymentStatus!

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

Example

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

unloadTicketsOnMPArm

Description

Unload tickets for a specific arm

Response

Returns a Boolean

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

Example

Query
mutation UnloadTicketsOnMPArm(
  $tickets: [String]!,
  $unloadArm: String!
) {
  unloadTicketsOnMPArm(
    tickets: $tickets,
    unloadArm: $unloadArm
  )
}
Variables
{
  "tickets": ["xyz789"],
  "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": true,
      "dayOfWeek": "abc123"
    }
  }
}

updatePhoto

Description

Updates an existing photo's description

Response

Returns a Photo

Arguments
Name Description
input - UpdatePhotoInput!

Example

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

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