input AccountPasswordInfoCollectionInput {
  totalCount: Int!
  items: [AccountPasswordInfoInput]
}

input AccountPasswordInfoInput {
  accountId: Int!
  userId: String
  unlockAccount: Boolean = false
  passwordInfo: PasswordInfoInput
}

type AccountSalesRep {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AccountSalesRep
  accountId: Int!
  adminUserId: String
}

input AccountSalesRepInput {
  accountId: Int!
  adminUserId: String
}

type ActiveDateRange {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ActiveDateRange
  startDate: DateTime
  endDate: DateTime
}

input ActiveDateRangeInput {
  startDate: DateTime
  endDate: DateTime
}

input AddressValidationRequestInput {
  address: CuAddressInput
}

type AddressValidationResponse {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AddressValidationResponse
  addressCandidates: [CuAddress]
}

type Adjustment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Adjustment
  amount: Float
  description: String
  internalComment: String
}

input AdjustmentInput {
  amount: Float
  description: String
  internalComment: String
}

"""
The `AnyScalar` type allows any scalar value by examining the input and passing the serialize, parseValue, and parseLiteral operations to their respective types.
"""
scalar AnyScalar

type AppliedLineItemProductDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AppliedLineItemProductDiscount
  appliesToSalePrice: Boolean
  discountQuantity: Int!
  productQuantity: Int
  impactPerUnit: Float
}

input AppliedLineItemProductDiscountInput {
  appliesToSalePrice: Boolean = false
  discountQuantity: Int!
  productQuantity: Int
  impactPerUnit: Float
}

type AppliedLineItemShippingDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AppliedLineItemShippingDiscount
  methodCode: String
  discount: CrAppliedDiscount
  discountQuantity: Int!
  impactPerUnit: Float!
}

input AppliedLineItemShippingDiscountInput {
  methodCode: String
  discount: CrAppliedDiscountInput
  discountQuantity: Int!
  impactPerUnit: Float!
}

type AttributeDetail {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AttributeDetail
  valueType: String
  inputType: String
  dataType: String
  usageType: String
  dataTypeSequence: Int!
  name: String
  description: String
  validation: PrAttributeValidation
  searchableInStorefront: Boolean
  searchDisplayValue: Boolean
  allowFilteringAndSortingInStorefront: Boolean
  indexValueWithCase: Boolean
  customWeightInStorefrontSearch: Boolean
  displayIntention: String
}

type AttributeVocabularyValueDisplayInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AttributeVocabularyValueDisplayInfo
  cmsId: String
  imageUrl: String
  colorValue: String
}

type AuditRecord {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AuditRecord
  id: String
  changes: [AuditRecordChange]
  auditInfo: CrAuditInfo
}

type AuditRecordChange {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AuditRecordChange
  type: String
  path: String
  fields: [AuditRecordChangeField]
}

type AuditRecordChangeField {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: AuditRecordChangeField
  name: String
  oldValue: String
  newValue: String
}

input AuditRecordChangeFieldInput {
  name: String
  oldValue: String
  newValue: String
}

input AuditRecordChangeInput {
  type: String
  path: String
  fields: [AuditRecordChangeFieldInput]
}

input AuditRecordInput {
  id: String
  changes: [AuditRecordChangeInput]
  auditInfo: CrAuditInfoInput
}

type B2BAccount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: B2BAccount
  users: [B2BUser]
  isActive: Boolean
  priceList: String
  salesReps: [AccountSalesRep]
  rootAccountId: Int
  parentAccountId: Int
  approvalStatus: String
  id: Int!
  customerSet: String
  commerceSummary: CommerceSummary
  contacts: [CustomerContact]
  companyOrOrganization: String
  notes: [CustomerNote]
  attributes: [CustomerAttribute]
  segments: [CustomerSegment]
  taxId: String
  externalId: String
  auditInfo: CuAuditInfo
  customerSinceDate: DateTime
  accountType: String
}

type B2BAccountCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: B2BAccountCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [B2BAccount]
}

input B2BAccountInput {
  users: [B2BUserInput]
  isActive: Boolean = false
  priceList: String
  salesReps: [AccountSalesRepInput]
  rootAccountId: Int
  parentAccountId: Int
  approvalStatus: String
  id: Int!
  customerSet: String
  commerceSummary: CommerceSummaryInput
  contacts: [CustomerContactInput]
  companyOrOrganization: String
  notes: [CustomerNoteInput]
  attributes: [CustomerAttributeInput]
  segments: [CustomerSegmentInput]
  taxId: String
  externalId: String
  auditInfo: CuAuditInfoInput
  customerSinceDate: DateTime
  accountType: String
}

type B2BUser {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: B2BUser
  emailAddress: String
  userName: String
  firstName: String
  lastName: String
  localeCode: String
  userId: String
  roles: [UserRole]
  isLocked: Boolean
  isActive: Boolean
  isRemoved: Boolean
  acceptsMarketing: Boolean
  hasExternalPassword: Boolean
}

input B2BUserAndAuthInfoInput {
  b2BUser: B2BUserInput
  externalPassword: String
  isImport: Boolean = false
}

type B2BUserCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: B2BUserCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [B2BUser]
}

input B2BUserInput {
  emailAddress: String
  userName: String
  firstName: String
  lastName: String
  localeCode: String
  userId: String
  roles: [UserRoleInput]
  isLocked: Boolean = false
  isActive: Boolean = false
  isRemoved: Boolean = false
  acceptsMarketing: Boolean = false
  hasExternalPassword: Boolean = false
}

type BillingInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: BillingInfo
  paymentType: String
  paymentWorkflow: String
  billingContact: Contact
  isSameBillingShippingAddress: Boolean
  card: PaymentCard
  token: PaymentToken
  purchaseOrder: PurchaseOrderPayment
  check: CheckPayment
  auditInfo: CrAuditInfo
  storeCreditCode: String
  storeCreditType: String
  customCreditType: String
  externalTransactionId: String
  data: Object
}

input BillingInfoInput {
  paymentType: String
  paymentWorkflow: String
  billingContact: ContactInput
  isSameBillingShippingAddress: Boolean = false
  card: PaymentCardInput
  token: PaymentTokenInput
  purchaseOrder: PurchaseOrderPaymentInput
  check: CheckPaymentInput
  auditInfo: CrAuditInfoInput
  storeCreditCode: String
  storeCreditType: String
  customCreditType: String
  externalTransactionId: String
  data: Object
}

type BoxType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: BoxType
  name: String
  height: Float
  width: Float
  length: Float
}

type BpmConfiguration {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: BpmConfiguration
  shipmentType: String
  workflowContainerId: String
  workflowProcessId: String
}

type BundledProductSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: BundledProductSummary
  productShortDescription: String
  productName: String
  productCode: String
  goodsType: String
  quantity: Int!
  measurements: PrPackageMeasurements
  isPackagedStandAlone: Boolean
  inventoryInfo: ProductInventoryInfo
  optionAttributeFQN: String
  optionValue: Object
  creditValue: Float
  productType: String
}

enum BundlingStrategyEnum {
  ITEM_DEPENDENCY
}

type CancelReasonCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CancelReasonCollection
  totalCount: Int!
  items: [CancelReasonItem]
}

type CancelReasonItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CancelReasonItem
  reasonCode: String
  name: String
  needsMoreInfo: Boolean
}

type CanceledItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CanceledItem
  canceledReason: CanceledReason
  auditInfo: CrAuditInfo
  lineId: Int!
  originalOrderItemId: String
  parentId: String
  productCode: String
  variationProductCode: String
  optionAttributeFQN: String
  name: String
  fulfillmentLocationCode: String
  imageUrl: String
  isTaxable: Boolean
  quantity: Int!
  unitPrice: Float!
  actualPrice: Float!
  overridePrice: Float
  itemDiscount: Float!
  lineItemCost: Float!
  itemTax: Float!
  shipping: Float!
  shippingDiscount: Float!
  shippingTax: Float!
  handling: Float!
  handlingDiscount: Float!
  handlingTax: Float!
  duty: Float!
  isPackagedStandAlone: Boolean
  readyForPickupQuantity: Int
  backorderReleaseDate: DateTime
  measurements: CrPackageMeasurements
  options: [CrProductOption]
  data: Object
  taxData: Object
  weightedShipmentAdjustment: Float!
  weightedLineItemTaxAdjustment: Float!
  weightedShippingAdjustment: Float!
  weightedShippingTaxAdjustment: Float!
  weightedHandlingAdjustment: Float!
  weightedHandlingTaxAdjustment: Float!
  weightedDutyAdjustment: Float!
  taxableShipping: Float!
  taxableLineItemCost: Float!
  taxableHandling: Float!
  fulfillmentFields: [FulfillmentField]
  isAssemblyRequired: Boolean
  parentItemId: String
  childItemIds: [String!]
  giftCards: [GiftCard]
}

input CanceledItemInput {
  canceledReason: CanceledReasonInput
  auditInfo: CrAuditInfoInput
  lineId: Int!
  originalOrderItemId: String
  parentId: String
  productCode: String
  variationProductCode: String
  optionAttributeFQN: String
  name: String
  fulfillmentLocationCode: String
  imageUrl: String
  isTaxable: Boolean = false
  quantity: Int!
  unitPrice: Float!
  actualPrice: Float!
  overridePrice: Float
  itemDiscount: Float!
  lineItemCost: Float!
  itemTax: Float!
  shipping: Float!
  shippingDiscount: Float!
  shippingTax: Float!
  handling: Float!
  handlingDiscount: Float!
  handlingTax: Float!
  duty: Float!
  isPackagedStandAlone: Boolean = false
  readyForPickupQuantity: Int
  backorderReleaseDate: DateTime
  measurements: CrPackageMeasurementsInput
  options: [CrProductOptionInput]
  data: Object
  taxData: Object
  weightedShipmentAdjustment: Float!
  weightedLineItemTaxAdjustment: Float!
  weightedShippingAdjustment: Float!
  weightedShippingTaxAdjustment: Float!
  weightedHandlingAdjustment: Float!
  weightedHandlingTaxAdjustment: Float!
  weightedDutyAdjustment: Float!
  taxableShipping: Float!
  taxableLineItemCost: Float!
  taxableHandling: Float!
  fulfillmentFields: [FulfillmentFieldInput]
  isAssemblyRequired: Boolean = false
  parentItemId: String
  childItemIds: [String!]
  giftCards: [GiftCardInput]
}

type CanceledReason {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CanceledReason
  reasonCode: String
  description: String
  moreInfo: String
}

input CanceledReasonInput {
  reasonCode: String
  description: String
  moreInfo: String
}

type CapturableShipmentSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CapturableShipmentSummary
  shipmentNumber: Int!
  shipmentTotal: Float!
  amountApplied: Float!
}

input CapturableShipmentSummaryInput {
  shipmentNumber: Int!
  shipmentTotal: Float!
  amountApplied: Float!
}

type Card {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Card
  id: String
  nameOnCard: String
  cardType: String
  expireMonth: Int
  expireYear: Int
  cardNumberPart: String
  contactId: Int!
  isDefaultPayMethod: Boolean
}

type CardCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CardCollection
  totalCount: Int!
  items: [Card]
}

input CardInput {
  id: String
  nameOnCard: String
  cardType: String
  expireMonth: Int
  expireYear: Int
  cardNumberPart: String
  contactId: Int!
  isDefaultPayMethod: Boolean = false
}

type Carrier {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Carrier
  carrierType: String
  isEnabled: Boolean
  shippingMethodMappings: ShippingMethodMappings
}

type CarrierServiceGenerateLabelResponse {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CarrierServiceGenerateLabelResponse
  imageURL: String
  integratorId: String
  price: Float
  trackingNumber: String
}

type Cart {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Cart
  items: [CartItem]
  couponCodes: [String!]
  invalidCoupons: [InvalidCoupon]
  priceListCode: String
  cartMessage: CartMessage
  cartMessages: [CartMessage]
  handlingAmount: Float
  handlingSubTotal: Float
  handlingTotal: Float
  userId: String
  id: String
  tenantId: Int
  siteId: Int
  channelCode: String
  currencyCode: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  fulfillmentInfo: FulfillmentInfo
  orderDiscounts: [CrAppliedDiscount]
  suggestedDiscounts: [SuggestedDiscount]
  rejectedDiscounts: [SuggestedDiscount]
  data: Object
  taxData: Object
  subtotal: Float
  discountedSubtotal: Float
  discountTotal: Float
  discountedTotal: Float
  shippingTotal: Float
  shippingSubTotal: Float
  shippingTaxTotal: Float
  handlingTaxTotal: Float
  itemTaxTotal: Float
  taxTotal: Float
  feeTotal: Float
  total: Float
  lineItemSubtotalWithOrderAdjustments: Float
  shippingAmountBeforeDiscountsAndAdjustments: Float
  lastValidationDate: DateTime
  expirationDate: DateTime
  changeMessages: [ChangeMessage]
  extendedProperties: [ExtendedProperty]
  discountThresholdMessages: [ThresholdMessage]
  auditInfo: CrAuditInfo
}

type CartChangeMessageCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CartChangeMessageCollection
  totalCount: Int!
  items: [ChangeMessage]
}

input CartInput {
  items: [CartItemInput]
  couponCodes: [String!]
  invalidCoupons: [InvalidCouponInput]
  priceListCode: String
  cartMessage: CartMessageInput
  cartMessages: [CartMessageInput]
  handlingAmount: Float
  handlingSubTotal: Float
  handlingTotal: Float
  userId: String
  id: String
  tenantId: Int
  siteId: Int
  channelCode: String
  currencyCode: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  fulfillmentInfo: FulfillmentInfoInput
  orderDiscounts: [CrAppliedDiscountInput]
  suggestedDiscounts: [SuggestedDiscountInput]
  rejectedDiscounts: [SuggestedDiscountInput]
  data: Object
  taxData: Object
  subtotal: Float
  discountedSubtotal: Float
  discountTotal: Float
  discountedTotal: Float
  shippingTotal: Float
  shippingSubTotal: Float
  shippingTaxTotal: Float
  handlingTaxTotal: Float
  itemTaxTotal: Float
  taxTotal: Float
  feeTotal: Float
  total: Float
  lineItemSubtotalWithOrderAdjustments: Float
  shippingAmountBeforeDiscountsAndAdjustments: Float
  lastValidationDate: DateTime
  expirationDate: DateTime
  changeMessages: [ChangeMessageInput]
  extendedProperties: [ExtendedPropertyInput]
  discountThresholdMessages: [ThresholdMessageInput]
  auditInfo: CrAuditInfoInput
}

type CartItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CartItem
  id: String
  fulfillmentLocationCode: String
  fulfillmentMethod: String
  localeCode: String
  purchaseLocation: String
  lineId: Int
  product: CrProduct
  quantity: Int!
  isRecurring: Boolean
  isTaxable: Boolean
  subtotal: Float
  extendedTotal: Float
  taxableTotal: Float
  discountTotal: Float
  discountedTotal: Float
  itemTaxTotal: Float
  shippingTaxTotal: Float
  shippingTotal: Float
  handlingAmount: Float
  feeTotal: Float
  total: Float
  unitPrice: CommerceUnitPrice
  productDiscount: AppliedLineItemProductDiscount
  productDiscounts: [AppliedLineItemProductDiscount]
  shippingDiscounts: [AppliedLineItemShippingDiscount]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfo
  shippingAmountBeforeDiscountsAndAdjustments: Float
  weightedOrderAdjustment: Float
  weightedOrderDiscount: Float
  adjustedLineItemSubtotal: Float
  totalWithoutWeightedShippingAndHandling: Float
  weightedOrderTax: Float
  weightedOrderShipping: Float
  weightedOrderShippingDiscount: Float
  weightedOrderShippingManualAdjustment: Float
  weightedOrderShippingTax: Float
  weightedOrderHandlingFee: Float
  weightedOrderHandlingFeeTax: Float
  weightedOrderHandlingFeeDiscount: Float
  weightedOrderDuty: Float
  totalWithWeightedShippingAndHandling: Float
  weightedOrderHandlingAdjustment: Float
  autoAddDiscountId: Int
  isAssemblyRequired: Boolean
  childItemIds: [String!]
  parentItemId: String
}

type CartItemCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CartItemCollection
  totalCount: Int!
  items: [CartItem]
}

input CartItemInput {
  id: String
  fulfillmentLocationCode: String
  fulfillmentMethod: String
  localeCode: String
  purchaseLocation: String
  lineId: Int
  product: CrProductInput
  quantity: Int!
  isRecurring: Boolean = false
  isTaxable: Boolean = false
  subtotal: Float
  extendedTotal: Float
  taxableTotal: Float
  discountTotal: Float
  discountedTotal: Float
  itemTaxTotal: Float
  shippingTaxTotal: Float
  shippingTotal: Float
  handlingAmount: Float
  feeTotal: Float
  total: Float
  unitPrice: CommerceUnitPriceInput
  productDiscount: AppliedLineItemProductDiscountInput
  productDiscounts: [AppliedLineItemProductDiscountInput]
  shippingDiscounts: [AppliedLineItemShippingDiscountInput]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfoInput
  shippingAmountBeforeDiscountsAndAdjustments: Float
  weightedOrderAdjustment: Float
  weightedOrderDiscount: Float
  adjustedLineItemSubtotal: Float
  totalWithoutWeightedShippingAndHandling: Float
  weightedOrderTax: Float
  weightedOrderShipping: Float
  weightedOrderShippingDiscount: Float
  weightedOrderShippingManualAdjustment: Float
  weightedOrderShippingTax: Float
  weightedOrderHandlingFee: Float
  weightedOrderHandlingFeeTax: Float
  weightedOrderHandlingFeeDiscount: Float
  weightedOrderDuty: Float
  totalWithWeightedShippingAndHandling: Float
  weightedOrderHandlingAdjustment: Float
  autoAddDiscountId: Int
  isAssemblyRequired: Boolean = false
  childItemIds: [String!]
  parentItemId: String
}

type CartMessage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CartMessage
  message: String
  messageType: String
  productsRemoved: [CrProduct]
}

input CartMessageInput {
  message: String
  messageType: String
  productsRemoved: [CrProductInput]
}

type CartSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CartSummary
  itemCount: Int
  totalQuantity: Int
  total: Float
  isExpired: Boolean
  hasActiveCart: Boolean
}

type CategoryCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CategoryCollection
  totalCount: Int!
  items: [PrCategory]
}

type CategoryContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CategoryContent
  categoryImages: [CategoryImage]
  name: String
  description: String
  pageTitle: String
  metaTagTitle: String
  metaTagDescription: String
  metaTagKeywords: String
  slug: String
}

type CategoryImage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CategoryImage
  imageLabel: String
  altText: String
  imageUrl: String
  cmsId: String
  videoUrl: String
  mediaType: String
  sequence: Int
}

type CategoryPagedCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CategoryPagedCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [PrCategory]
}

type ChangeMessage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ChangeMessage
  id: String
  correlationId: String
  userId: String
  userFirstName: String
  userLastName: String
  userScopeType: String
  appId: String
  appKey: String
  appName: String
  subjectType: String
  success: Boolean
  identifier: String
  subject: String
  verb: String
  message: String
  metadata: Object
  oldValue: String
  newValue: String
  amount: Float
  createDate: DateTime
}

input ChangeMessageInput {
  id: String
  correlationId: String
  userId: String
  userFirstName: String
  userLastName: String
  userScopeType: String
  appId: String
  appKey: String
  appName: String
  subjectType: String
  success: Boolean = false
  identifier: String
  subject: String
  verb: String
  message: String
  metadata: Object
  oldValue: String
  newValue: String
  amount: Float
  createDate: DateTime
}

type ChangePasswordResult {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ChangePasswordResult
  accountId: Int!
  succeeded: Boolean
  errorMessage: String
}

type ChangePasswordResultCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ChangePasswordResultCollection
  totalCount: Int!
  items: [ChangePasswordResult]
}

type Channel {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Channel
  tenantId: Int!
  code: String
  name: String
  region: String
  countryCode: String
  groupCode: String
  siteIds: [Int!]
  auditInfo: CrAuditInfo
}

type ChannelCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ChannelCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Channel]
}

type ChannelGroup {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ChannelGroup
  tenantId: Int!
  code: String
  name: String
  auditInfo: CrAuditInfo
}

type ChannelGroupCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ChannelGroupCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [ChannelGroup]
}

input ChannelGroupInput {
  tenantId: Int!
  code: String
  name: String
  auditInfo: CrAuditInfoInput
}

input ChannelInput {
  tenantId: Int!
  code: String
  name: String
  region: String
  countryCode: String
  groupCode: String
  siteIds: [Int!]
  auditInfo: CrAuditInfoInput
}

type CheckPayment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CheckPayment
  checkNumber: String
}

input CheckPaymentInput {
  checkNumber: String
}

type Checkout {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Checkout
  id: String
  siteId: Int!
  tenantId: Int!
  number: Int
  originalCartId: String
  submittedDate: DateTime
  type: String
  items: [CrOrderItem]
  groupings: [CheckoutGrouping]
  auditInfo: CrAuditInfo
  destinations: [Destination]
  payments: [Payment]
  amountRemainingForPayment: Float!
  acceptsMarketing: Boolean
  customerAccountId: Int
  email: String
  customerTaxId: String
  isTaxExempt: Boolean
  currencyCode: String
  priceListCode: String
  attributes: [OrderAttribute]
  shopperNotes: ShopperNotes
  availableActions: [String!]
  data: Object
  taxData: Object
  channelCode: String
  locationCode: String
  ipAddress: String
  sourceDevice: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  orderDiscounts: [CrAppliedDiscount]
  couponCodes: [String!]
  invalidCoupons: [InvalidCoupon]
  suggestedDiscounts: [SuggestedDiscount]
  discountThresholdMessages: [ThresholdMessage]
  dutyTotal: Float
  feeTotal: Float!
  subTotal: Float!
  itemLevelProductDiscountTotal: Float!
  orderLevelProductDiscountTotal: Float!
  itemTaxTotal: Float!
  itemTotal: Float!
  shippingSubTotal: Float!
  itemLevelShippingDiscountTotal: Float!
  orderLevelShippingDiscountTotal: Float!
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingSubTotal: Float!
  itemLevelHandlingDiscountTotal: Float!
  orderLevelHandlingDiscountTotal: Float!
  handlingTaxTotal: Float!
  handlingTotal: Float!
  total: Float!
}

input CheckoutActionInput {
  actionName: String
}

type CheckoutCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CheckoutCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Checkout]
}

type CheckoutGroupRates {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CheckoutGroupRates
  groupingId: String
  shippingRates: [ShippingRate]
}

input CheckoutGroupShippingMethodInput {
  groupingId: String
  shippingRate: ShippingRateInput
}

type CheckoutGrouping {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CheckoutGrouping
  id: String
  destinationId: String
  fulfillmentMethod: String
  orderItemIds: [String!]
  shippingMethodCode: String
  shippingMethodName: String
  standaloneGroup: Boolean
  shippingDiscounts: [ShippingDiscount]
  handlingDiscounts: [CrAppliedDiscount]
  dutyAmount: Float
  dutyTotal: Float!
  shippingAmount: Float
  shippingSubTotal: Float!
  itemLevelShippingDiscountTotal: Float!
  orderLevelShippingDiscountTotal: Float!
  shippingTax: Float
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingAmount: Float
  handlingSubTotal: Float!
  itemLevelHandlingDiscountTotal: Float!
  orderLevelHandlingDiscountTotal: Float!
  handlingTax: Float
  handlingTaxTotal: Float!
  handlingTotal: Float!
  taxData: Object
}

input CheckoutGroupingInput {
  id: String
  destinationId: String
  fulfillmentMethod: String
  orderItemIds: [String!]
  shippingMethodCode: String
  shippingMethodName: String
  standaloneGroup: Boolean = false
  shippingDiscounts: [ShippingDiscountInput]
  handlingDiscounts: [CrAppliedDiscountInput]
  dutyAmount: Float
  dutyTotal: Float!
  shippingAmount: Float
  shippingSubTotal: Float!
  itemLevelShippingDiscountTotal: Float!
  orderLevelShippingDiscountTotal: Float!
  shippingTax: Float
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingAmount: Float
  handlingSubTotal: Float!
  itemLevelHandlingDiscountTotal: Float!
  orderLevelHandlingDiscountTotal: Float!
  handlingTax: Float
  handlingTaxTotal: Float!
  handlingTotal: Float!
  taxData: Object
}

input CheckoutInput {
  id: String
  siteId: Int!
  tenantId: Int!
  number: Int
  originalCartId: String
  submittedDate: DateTime
  type: String
  items: [CrOrderItemInput]
  groupings: [CheckoutGroupingInput]
  auditInfo: CrAuditInfoInput
  destinations: [DestinationInput]
  payments: [PaymentInput]
  amountRemainingForPayment: Float!
  acceptsMarketing: Boolean = false
  customerAccountId: Int
  email: String
  customerTaxId: String
  isTaxExempt: Boolean = false
  currencyCode: String
  priceListCode: String
  attributes: [OrderAttributeInput]
  shopperNotes: ShopperNotesInput
  availableActions: [String!]
  data: Object
  taxData: Object
  channelCode: String
  locationCode: String
  ipAddress: String
  sourceDevice: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  orderDiscounts: [CrAppliedDiscountInput]
  couponCodes: [String!]
  invalidCoupons: [InvalidCouponInput]
  suggestedDiscounts: [SuggestedDiscountInput]
  discountThresholdMessages: [ThresholdMessageInput]
  dutyTotal: Float
  feeTotal: Float!
  subTotal: Float!
  itemLevelProductDiscountTotal: Float!
  orderLevelProductDiscountTotal: Float!
  itemTaxTotal: Float!
  itemTotal: Float!
  shippingSubTotal: Float!
  itemLevelShippingDiscountTotal: Float!
  orderLevelShippingDiscountTotal: Float!
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingSubTotal: Float!
  itemLevelHandlingDiscountTotal: Float!
  orderLevelHandlingDiscountTotal: Float!
  handlingTaxTotal: Float!
  handlingTotal: Float!
  total: Float!
}

input CoHttpContentInput {
  headers: [KeyValuePair2Input]
}

input CoHttpMethodInput {
  method: String
}

input CoHttpRequestMessageInput {
  version: String
  content: CoHttpContentInput
  method: CoHttpMethodInput
  requestUri: DateTime
  headers: [KeyValuePair2Input]
  properties: Object
}

type CommerceSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CommerceSummary
  totalOrderAmount: CurrencyAmount
  orderCount: Int!
  lastOrderDate: DateTime
  wishlistCount: Int!
  visitsCount: Int!
}

input CommerceSummaryInput {
  totalOrderAmount: CurrencyAmountInput
  orderCount: Int!
  lastOrderDate: DateTime
  wishlistCount: Int!
  visitsCount: Int!
}

type CommerceUnitPrice {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CommerceUnitPrice
  extendedAmount: Float
  listAmount: Float
  saleAmount: Float
  overrideAmount: Float
}

input CommerceUnitPriceInput {
  extendedAmount: Float
  listAmount: Float
  saleAmount: Float
  overrideAmount: Float
}

type ConfiguredProduct {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ConfiguredProduct
  productCode: String
  purchaseLocation: String
  fulfillmentTypesSupported: [String!]
  variationProductCode: String
  upc: String
  mfgPartNumber: String
  purchasableState: ProductPurchasableState
  priceRange: ProductPriceRange
  volumePriceBands: [ProductVolumePrice]
  volumePriceRange: ProductPriceRange
  price: ProductPrice
  availableShippingDiscounts: [PrDiscount]
  measurements: PrPackageMeasurements
  inventoryInfo: ProductInventoryInfo
  options: [ProductOption]
  properties: [ProductProperty]
  priceListEntryTypeProperty: ProductProperty
  productImages: [ProductImage]
}

type Contact {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Contact
  id: Int
  email: String
  firstName: String
  middleNameOrInitial: String
  lastNameOrSurname: String
  companyOrOrganization: String
  phoneNumbers: CrPhone
  address: CrAddress
}

input ContactInput {
  id: Int
  email: String
  firstName: String
  middleNameOrInitial: String
  lastNameOrSurname: String
  companyOrOrganization: String
  phoneNumbers: CrPhoneInput
  address: CrAddressInput
}

type ContactType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ContactType
  name: String
  isPrimary: Boolean
}

input ContactTypeInput {
  name: String
  isPrimary: Boolean = false
}

type Coordinates {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Coordinates
  lat: Float!
  lng: Float!
}

input CoordinatesInput {
  lat: Float!
  lng: Float!
}

type CrAddress {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrAddress
  address1: String
  address2: String
  address3: String
  address4: String
  cityOrTown: String
  stateOrProvince: String
  postalOrZipCode: String
  countryCode: String
  addressType: String
  isValidated: Boolean
}

input CrAddressInput {
  address1: String
  address2: String
  address3: String
  address4: String
  cityOrTown: String
  stateOrProvince: String
  postalOrZipCode: String
  countryCode: String
  addressType: String
  isValidated: Boolean = false
}

type CrAppliedDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrAppliedDiscount
  impact: Float
  discount: CrDiscount
  couponCode: String
  excluded: Boolean
}

input CrAppliedDiscountInput {
  impact: Float
  discount: CrDiscountInput
  couponCode: String
  excluded: Boolean = false
}

type CrAuditInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrAuditInfo
  updateDate: DateTime
  createDate: DateTime
  updateBy: String
  createBy: String
}

input CrAuditInfoInput {
  updateDate: DateTime
  createDate: DateTime
  updateBy: String
  createBy: String
}

type CrBundledProduct {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrBundledProduct
  quantity: Int!
  optionAttributeFQN: String
  optionValue: Object
  creditValue: Float
  deltaPrice: Float
  productCode: String
  name: String
  description: String
  goodsType: String
  isPackagedStandAlone: Boolean
  stock: ProductStock
  productReservationId: Int
  allocationId: Int
  allocationExpiration: DateTime
  measurements: CrPackageMeasurements
  fulfillmentStatus: String
}

input CrBundledProductInput {
  quantity: Int!
  optionAttributeFQN: String
  optionValue: Object
  creditValue: Float
  deltaPrice: Float
  productCode: String
  name: String
  description: String
  goodsType: String
  isPackagedStandAlone: Boolean = false
  stock: ProductStockInput
  productReservationId: Int
  allocationId: Int
  allocationExpiration: DateTime
  measurements: CrPackageMeasurementsInput
  fulfillmentStatus: String
}

type CrCategory {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrCategory
  id: Int
  parent: CrCategory
}

input CrCategoryInput {
  id: Int
  parent: CrCategoryInput
}

type CrDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrDiscount
  id: Int!
  name: String
  itemIds: [String!]
  expirationDate: DateTime
  hasMultipleTargetProducts: Boolean
}

input CrDiscountInput {
  id: Int!
  name: String
  itemIds: [String!]
  expirationDate: DateTime
  hasMultipleTargetProducts: Boolean = false
}

type CrMeasurement {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrMeasurement
  unit: String
  value: Float
}

input CrMeasurementInput {
  unit: String
  value: Float
}

type CrOrderItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrOrderItem
  id: String
  destinationId: String
  originalCartItemId: String
  fulfillmentLocationCode: String
  fulfillmentMethod: String
  dutyAmount: Float
  expectedDeliveryDate: DateTime
  localeCode: String
  purchaseLocation: String
  lineId: Int
  product: CrProduct
  quantity: Int!
  isRecurring: Boolean
  isTaxable: Boolean
  subtotal: Float
  extendedTotal: Float
  taxableTotal: Float
  discountTotal: Float
  discountedTotal: Float
  itemTaxTotal: Float
  shippingTaxTotal: Float
  shippingTotal: Float
  handlingAmount: Float
  feeTotal: Float
  total: Float
  unitPrice: CommerceUnitPrice
  productDiscount: AppliedLineItemProductDiscount
  productDiscounts: [AppliedLineItemProductDiscount]
  shippingDiscounts: [AppliedLineItemShippingDiscount]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfo
  shippingAmountBeforeDiscountsAndAdjustments: Float
  weightedOrderAdjustment: Float
  weightedOrderDiscount: Float
  adjustedLineItemSubtotal: Float
  totalWithoutWeightedShippingAndHandling: Float
  weightedOrderTax: Float
  weightedOrderShipping: Float
  weightedOrderShippingDiscount: Float
  weightedOrderShippingManualAdjustment: Float
  weightedOrderShippingTax: Float
  weightedOrderHandlingFee: Float
  weightedOrderHandlingFeeTax: Float
  weightedOrderHandlingFeeDiscount: Float
  weightedOrderDuty: Float
  totalWithWeightedShippingAndHandling: Float
  weightedOrderHandlingAdjustment: Float
  autoAddDiscountId: Int
  isAssemblyRequired: Boolean
  childItemIds: [String!]
  parentItemId: String
}

input CrOrderItemInput {
  id: String
  destinationId: String
  originalCartItemId: String
  fulfillmentLocationCode: String
  fulfillmentMethod: String
  dutyAmount: Float
  expectedDeliveryDate: DateTime
  localeCode: String
  purchaseLocation: String
  lineId: Int
  product: CrProductInput
  quantity: Int!
  isRecurring: Boolean = false
  isTaxable: Boolean = false
  subtotal: Float
  extendedTotal: Float
  taxableTotal: Float
  discountTotal: Float
  discountedTotal: Float
  itemTaxTotal: Float
  shippingTaxTotal: Float
  shippingTotal: Float
  handlingAmount: Float
  feeTotal: Float
  total: Float
  unitPrice: CommerceUnitPriceInput
  productDiscount: AppliedLineItemProductDiscountInput
  productDiscounts: [AppliedLineItemProductDiscountInput]
  shippingDiscounts: [AppliedLineItemShippingDiscountInput]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfoInput
  shippingAmountBeforeDiscountsAndAdjustments: Float
  weightedOrderAdjustment: Float
  weightedOrderDiscount: Float
  adjustedLineItemSubtotal: Float
  totalWithoutWeightedShippingAndHandling: Float
  weightedOrderTax: Float
  weightedOrderShipping: Float
  weightedOrderShippingDiscount: Float
  weightedOrderShippingManualAdjustment: Float
  weightedOrderShippingTax: Float
  weightedOrderHandlingFee: Float
  weightedOrderHandlingFeeTax: Float
  weightedOrderHandlingFeeDiscount: Float
  weightedOrderDuty: Float
  totalWithWeightedShippingAndHandling: Float
  weightedOrderHandlingAdjustment: Float
  autoAddDiscountId: Int
  isAssemblyRequired: Boolean = false
  childItemIds: [String!]
  parentItemId: String
}

type CrPackageMeasurements {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrPackageMeasurements
  height: CrMeasurement
  width: CrMeasurement
  length: CrMeasurement
  weight: CrMeasurement
}

input CrPackageMeasurementsInput {
  height: CrMeasurementInput
  width: CrMeasurementInput
  length: CrMeasurementInput
  weight: CrMeasurementInput
}

type CrPhone {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrPhone
  home: String
  mobile: String
  work: String
}

input CrPhoneInput {
  home: String
  mobile: String
  work: String
}

type CrProduct {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrProduct
  mfgPartNumber: String
  upc: String
  sku: String
  fulfillmentTypesSupported: [String!]
  imageAlternateText: String
  imageUrl: String
  variationProductCode: String
  options: [CrProductOption]
  properties: [CrProductProperty]
  categories: [CrCategory]
  price: CrProductPrice
  discountsRestricted: Boolean
  discountsRestrictedStartDate: DateTime
  discountsRestrictedEndDate: DateTime
  isRecurring: Boolean
  isTaxable: Boolean
  productType: String
  productUsage: String
  bundledProducts: [CrBundledProduct]
  fulfillmentFields: [FulfillmentField]
  productCode: String
  name: String
  description: String
  goodsType: String
  isPackagedStandAlone: Boolean
  stock: ProductStock
  productReservationId: Int
  allocationId: Int
  allocationExpiration: DateTime
  measurements: CrPackageMeasurements
  fulfillmentStatus: String
}

input CrProductInput {
  mfgPartNumber: String
  upc: String
  sku: String
  fulfillmentTypesSupported: [String!]
  imageAlternateText: String
  imageUrl: String
  variationProductCode: String
  options: [CrProductOptionInput]
  properties: [CrProductPropertyInput]
  categories: [CrCategoryInput]
  price: CrProductPriceInput
  discountsRestricted: Boolean = false
  discountsRestrictedStartDate: DateTime
  discountsRestrictedEndDate: DateTime
  isRecurring: Boolean = false
  isTaxable: Boolean = false
  productType: String
  productUsage: String
  bundledProducts: [CrBundledProductInput]
  fulfillmentFields: [FulfillmentFieldInput]
  productCode: String
  name: String
  description: String
  goodsType: String
  isPackagedStandAlone: Boolean = false
  stock: ProductStockInput
  productReservationId: Int
  allocationId: Int
  allocationExpiration: DateTime
  measurements: CrPackageMeasurementsInput
  fulfillmentStatus: String
}

type CrProductOption {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrProductOption
  name: String
  value: Object
  shopperEnteredValue: Object
  attributeFQN: String
  dataType: String
  stringValue: String
}

input CrProductOptionInput {
  name: String
  value: Object
  shopperEnteredValue: Object
  attributeFQN: String
  dataType: String
  stringValue: String
}

type CrProductPrice {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrProductPrice
  price: Float
  salePrice: Float
  tenantOverridePrice: Float
  msrp: Float
  creditValue: Float
  priceListCode: String
  priceListEntryMode: String
}

input CrProductPriceInput {
  price: Float
  salePrice: Float
  tenantOverridePrice: Float
  msrp: Float
  creditValue: Float
  priceListCode: String
  priceListEntryMode: String
}

type CrProductProperty {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrProductProperty
  attributeFQN: String
  name: String
  dataType: String
  isMultiValue: Boolean
  values: [CrProductPropertyValue]
}

input CrProductPropertyInput {
  attributeFQN: String
  name: String
  dataType: String
  isMultiValue: Boolean = false
  values: [CrProductPropertyValueInput]
}

type CrProductPropertyValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CrProductPropertyValue
  stringValue: String
  value: Object
}

input CrProductPropertyValueInput {
  stringValue: String
  value: Object
}

type Credit {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Credit
  code: String
  activationDate: DateTime
  creditType: String
  customCreditType: String
  currencyCode: String
  initialBalance: Float
  currentBalance: Float
  expirationDate: DateTime
  customerId: Int
  auditInfo: CuAuditInfo
  creditTypeId: Int!
}

type CreditAuditEntry {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CreditAuditEntry
  activityType: String
  details: String
  auditInfo: CuAuditInfo
  activityTypeId: Int!
}

type CreditAuditEntryCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CreditAuditEntryCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CreditAuditEntry]
}

type CreditCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CreditCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Credit]
}

input CreditInput {
  code: String
  activationDate: DateTime
  creditType: String
  customCreditType: String
  currencyCode: String
  initialBalance: Float
  currentBalance: Float
  expirationDate: DateTime
  customerId: Int
  auditInfo: CuAuditInfoInput
  creditTypeId: Int!
}

type CreditTransaction {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CreditTransaction
  id: Int
  transactionType: String
  comments: String
  impactAmount: Float
  auditInfo: CuAuditInfo
  orderId: String
  data: Object
}

type CreditTransactionCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CreditTransactionCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CreditTransaction]
}

input CreditTransactionInput {
  id: Int
  transactionType: String
  comments: String
  impactAmount: Float
  auditInfo: CuAuditInfoInput
  orderId: String
  data: Object
}

type CuAddress {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAddress
  address1: String
  address2: String
  address3: String
  address4: String
  cityOrTown: String
  stateOrProvince: String
  postalOrZipCode: String
  countryCode: String
  addressType: String
  isValidated: Boolean
}

input CuAddressInput {
  address1: String
  address2: String
  address3: String
  address4: String
  cityOrTown: String
  stateOrProvince: String
  postalOrZipCode: String
  countryCode: String
  addressType: String
  isValidated: Boolean = false
}

type CuAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttribute
  id: Int
  adminName: String
  namespace: String
  attributeCode: String!
  inputType: String
  valueType: String!
  dataType: String
  attributeMetadata: [CuAttributeMetadataItem]
  attributeFQN: String
  content: CuAttributeLocalizedContent
  validation: CuAttributeValidation
  vocabularyValues: [CuAttributeVocabularyValue]
  auditInfo: CuAuditInfo
  isActive: Boolean
  isRequired: Boolean
  isReadOnly: Boolean
  isMultiValued: Boolean
  isVisible: Boolean
  order: Int
  displayGroup: String!
}

type CuAttributeCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttributeCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CuAttribute]
}

input CuAttributeInput {
  id: Int
  adminName: String
  namespace: String
  attributeCode: String!
  inputType: String
  valueType: String!
  dataType: String
  attributeMetadata: [CuAttributeMetadataItemInput]
  attributeFQN: String
  content: CuAttributeLocalizedContentInput
  validation: CuAttributeValidationInput
  vocabularyValues: [CuAttributeVocabularyValueInput]
  auditInfo: CuAuditInfoInput
  isActive: Boolean = false
  isRequired: Boolean = false
  isReadOnly: Boolean = false
  isMultiValued: Boolean = false
  isVisible: Boolean = false
  order: Int
  displayGroup: String!
}

type CuAttributeLocalizedContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttributeLocalizedContent
  localeCode: String
  value: String
}

input CuAttributeLocalizedContentInput {
  localeCode: String
  value: String
}

type CuAttributeMetadataItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttributeMetadataItem
  key: String!
  value: String!
}

input CuAttributeMetadataItemInput {
  key: String!
  value: String!
}

type CuAttributeValidation {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttributeValidation
  regularExpression: String
  minStringLength: Int
  maxStringLength: Int
  minNumericValue: Float
  maxNumericValue: Float
  minDateTime: DateTime
  maxDateTime: DateTime
}

input CuAttributeValidationInput {
  regularExpression: String
  minStringLength: Int
  maxStringLength: Int
  minNumericValue: Float
  maxNumericValue: Float
  minDateTime: DateTime
  maxDateTime: DateTime
}

type CuAttributeValueLocalizedContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttributeValueLocalizedContent
  localeCode: String!
  value: String!
}

input CuAttributeValueLocalizedContentInput {
  localeCode: String!
  value: String!
}

type CuAttributeVocabularyValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAttributeVocabularyValue
  value: String!
  sequence: Int
  isHidden: Boolean
  content: CuAttributeValueLocalizedContent
}

input CuAttributeVocabularyValueInput {
  value: String!
  sequence: Int
  isHidden: Boolean = false
  content: CuAttributeValueLocalizedContentInput
}

type CuAuditInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuAuditInfo
  updateDate: DateTime
  createDate: DateTime
  updateBy: String
  createBy: String
}

input CuAuditInfoInput {
  updateDate: DateTime
  createDate: DateTime
  updateBy: String
  createBy: String
}

type CuPhone {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CuPhone
  home: String
  mobile: String
  work: String
}

input CuPhoneInput {
  home: String
  mobile: String
  work: String
}

type CurrencyAmount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CurrencyAmount
  currencyCode: String
  amount: Float!
}

input CurrencyAmountInput {
  currencyCode: String
  amount: Float!
}

type CurrencyExchangeRate {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CurrencyExchangeRate
  fromCurrencyCode: String
  toCurrencyCode: String
  rate: Float
  multiplier: Float
  decimalPlaces: Int
  roundingStrategy: Int
  referenceData: String
}

type Customer {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Customer
  customerContact: Contact
  data: Object
  isDestinationCommercial: Boolean
}

type CustomerAccount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAccount
  emailAddress: String
  userName: String
  firstName: String
  lastName: String
  localeCode: String
  userId: String
  isAnonymous: Boolean
  isLocked: Boolean
  isActive: Boolean
  acceptsMarketing: Boolean
  hasExternalPassword: Boolean
  id: Int!
  customerSet: String
  commerceSummary: CommerceSummary
  contacts: [CustomerContact]
  companyOrOrganization: String
  notes: [CustomerNote]
  attributes: [CustomerAttribute]
  segments: [CustomerSegment]
  taxId: String
  externalId: String
  auditInfo: CuAuditInfo
  customerSinceDate: DateTime
  accountType: String
}

input CustomerAccountAndAuthInfoInput {
  account: CustomerAccountInput
  password: String
  externalPassword: String
  isImport: Boolean = false
}

type CustomerAccountCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAccountCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerAccount]
}

input CustomerAccountInput {
  emailAddress: String
  userName: String
  firstName: String
  lastName: String
  localeCode: String
  userId: String
  isAnonymous: Boolean = false
  isLocked: Boolean = false
  isActive: Boolean = false
  acceptsMarketing: Boolean = false
  hasExternalPassword: Boolean = false
  id: Int!
  customerSet: String
  commerceSummary: CommerceSummaryInput
  contacts: [CustomerContactInput]
  companyOrOrganization: String
  notes: [CustomerNoteInput]
  attributes: [CustomerAttributeInput]
  segments: [CustomerSegmentInput]
  taxId: String
  externalId: String
  auditInfo: CuAuditInfoInput
  customerSinceDate: DateTime
  accountType: String
}

type CustomerAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAttribute
  auditInfo: CuAuditInfo
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

type CustomerAttributeCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAttributeCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerAttribute]
}

input CustomerAttributeInput {
  auditInfo: CuAuditInfoInput
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

type CustomerAuditEntry {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAuditEntry
  customerAccountId: Int!
  customerAuditEntryId: Int!
  entryDate: DateTime!
  entryUser: String
  application: String
  site: String
  description: String
  fieldPath: String
  oldValue: String
  newValue: String
}

type CustomerAuditEntryCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAuditEntryCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerAuditEntry]
}

type CustomerAuthTicket {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerAuthTicket
  customerAccount: CustomerAccount
  accessToken: String
  accessTokenExpiration: DateTime!
  refreshToken: String
  refreshTokenExpiration: DateTime!
  userId: String
  jwtAccessToken: String
}

type CustomerContact {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerContact
  accountId: Int!
  types: [ContactType]
  auditInfo: CuAuditInfo
  faxNumber: String
  label: String
  id: Int
  email: String
  firstName: String
  middleNameOrInitial: String
  lastNameOrSurname: String
  companyOrOrganization: String
  phoneNumbers: CuPhone
  address: CuAddress
}

type CustomerContactCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerContactCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerContact]
}

input CustomerContactInput {
  accountId: Int!
  types: [ContactTypeInput]
  auditInfo: CuAuditInfoInput
  faxNumber: String
  label: String
  id: Int
  email: String
  firstName: String
  middleNameOrInitial: String
  lastNameOrSurname: String
  companyOrOrganization: String
  phoneNumbers: CuPhoneInput
  address: CuAddressInput
}

input CustomerInput {
  customerContact: ContactInput
  data: Object
  isDestinationCommercial: Boolean = false
}

input CustomerLoginInfoInput {
  emailAddress: String
  username: String
  password: String
  externalPassword: String
  isImport: Boolean = false
}

type CustomerNote {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerNote
  id: Int!
  content: String
  auditInfo: CuAuditInfo
}

type CustomerNoteCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerNoteCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerNote]
}

input CustomerNoteInput {
  id: Int!
  content: String
  auditInfo: CuAuditInfoInput
}

type CustomerPurchaseOrderAccount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerPurchaseOrderAccount
  id: Int!
  accountId: Int!
  isEnabled: Boolean
  creditLimit: Float!
  availableBalance: Float!
  totalAvailableBalance: Float!
  overdraftAllowance: Float
  overdraftAllowanceType: String
  customerPurchaseOrderPaymentTerms: [CustomerPurchaseOrderPaymentTerm]
  auditInfo: CuAuditInfo
}

type CustomerPurchaseOrderAccountCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerPurchaseOrderAccountCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerPurchaseOrderAccount]
}

input CustomerPurchaseOrderAccountInput {
  id: Int!
  accountId: Int!
  isEnabled: Boolean = false
  creditLimit: Float!
  availableBalance: Float!
  totalAvailableBalance: Float!
  overdraftAllowance: Float
  overdraftAllowanceType: String
  customerPurchaseOrderPaymentTerms: [CustomerPurchaseOrderPaymentTermInput]
  auditInfo: CuAuditInfoInput
}

type CustomerPurchaseOrderPaymentTerm {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerPurchaseOrderPaymentTerm
  siteId: Int!
  code: String
  description: String
  auditInfo: CuAuditInfo
}

input CustomerPurchaseOrderPaymentTermInput {
  siteId: Int!
  code: String
  description: String
  auditInfo: CuAuditInfoInput
}

type CustomerSegment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerSegment
  id: Int!
  code: String
  name: String
  description: String
  auditInfo: CuAuditInfo
}

type CustomerSegmentCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerSegmentCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerSegment]
}

input CustomerSegmentInput {
  id: Int!
  code: String
  name: String
  description: String
  auditInfo: CuAuditInfoInput
}

type CustomerSet {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerSet
  code: String
  name: String
  description: String
  auditInfo: CuAuditInfo
  sites: [CustomerSetSite]
  isDefault: Boolean
  aggregateInfo: CustomerSetAggregateInfo
}

type CustomerSetAggregateInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerSetAggregateInfo
  customerCount: Int!
}

type CustomerSetCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerSetCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [CustomerSet]
}

type CustomerSetSite {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: CustomerSetSite
  siteId: Int!
  customerSetCode: String
  name: String
}

input CustomerUserAuthInfoInput {
  username: String
  password: String
}

"""
DateTime custom scalar type
"""
scalar DateTime

type Destination {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Destination
  id: String
  destinationContact: Contact
  isDestinationCommercial: Boolean
  data: Object
}

input DestinationInput {
  id: String
  destinationContact: ContactInput
  isDestinationCommercial: Boolean = false
  data: Object
}

type DigitalPackage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DigitalPackage
  id: String
  code: String
  status: String
  items: [DigitalPackageItem]
  fulfillmentDate: DateTime
  fulfillmentLocationCode: String
  auditInfo: CrAuditInfo
  availableActions: [String!]
  changeMessages: [ChangeMessage]
}

input DigitalPackageInput {
  id: String
  code: String
  status: String
  items: [DigitalPackageItemInput]
  fulfillmentDate: DateTime
  fulfillmentLocationCode: String
  auditInfo: CrAuditInfoInput
  availableActions: [String!]
  changeMessages: [ChangeMessageInput]
}

type DigitalPackageItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DigitalPackageItem
  giftCardCode: String
  productCode: String
  quantity: Int!
  fulfillmentItemType: String
  lineId: Int
  optionAttributeFQN: String
}

input DigitalPackageItemInput {
  giftCardCode: String
  productCode: String
  quantity: Int!
  fulfillmentItemType: String
  lineId: Int
  optionAttributeFQN: String
}

input DigitalWalletInput {
  digitalWalletData: String
  cartId: String
}

input DiscountSelectionsInput {
  discountIds: [Int!]
}

type DiscountValidationSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DiscountValidationSummary
  applicableDiscounts: [PrDiscount]
}

type Document {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Document
  id: String
  name: String
  path: String
  publishSetCode: String
  extension: String
  documentTypeFQN: String
  listFQN: String
  contentLength: Int
  contentMimeType: String
  contentUpdateDate: DateTime
  publishState: String
  properties: Object
  insertDate: DateTime
  updateDate: DateTime
  activeDateRange: ActiveDateRange
}

type DocumentCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentCollection
  subPaths: [String!]
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Document]
}

type DocumentDraftSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentDraftSummary
  id: String
  name: String
  documentTypeFQN: String
  listFQN: String
  activeUpdateDate: DateTime
  draftUpdateDate: DateTime!
  updatedBy: String
  activeUpdatedBy: String
  publishType: String
  publishSetCode: String
  masterCatalogId: Int
  catalogId: Int
  siteId: Int
}

type DocumentDraftSummaryPagedCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentDraftSummaryPagedCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [DocumentDraftSummary]
}

input DocumentInput {
  id: String
  name: String
  path: String
  publishSetCode: String
  extension: String
  documentTypeFQN: String
  listFQN: String
  contentLength: Int
  contentMimeType: String
  contentUpdateDate: DateTime
  publishState: String
  properties: Object
  insertDate: DateTime
  updateDate: DateTime
  activeDateRange: ActiveDateRangeInput
}

type DocumentInstallation {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentInstallation
  name: String
  documentTypeFQN: String
  properties: Object
  locale: String
}

input DocumentInstallationInput {
  name: String
  documentTypeFQN: String
  properties: Object
  locale: String
}

type DocumentList {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentList
  name: String
  namespace: String
  listFQN: String
  documentTypes: [String!]
  supportsPublishing: Boolean
  enablePublishing: Boolean
  supportsActiveDateRanges: Boolean
  enableActiveDateRanges: Boolean
  views: [View]
  usages: [String!]
  security: String
  scopeId: Int
  scopeType: String
  documentListType: String
  metadata: Object
}

type DocumentListCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentListCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [DocumentList]
}

input DocumentListInput {
  name: String
  namespace: String
  listFQN: String
  documentTypes: [String!]
  supportsPublishing: Boolean = false
  enablePublishing: Boolean = false
  supportsActiveDateRanges: Boolean = false
  enableActiveDateRanges: Boolean = false
  views: [ViewInput]
  usages: [String!]
  security: String
  scopeId: Int
  scopeType: String
  documentListType: String
  metadata: Object
}

type DocumentListType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentListType
  name: String
  namespace: String
  documentListTypeFQN: String
  scopeType: String
  installationPackage: String
  version: String
  defaultDocuments: [DocumentInstallation]
  documentTypeFQNs: [String!]
  supportsPublishing: Boolean
  enablePublishing: Boolean
  supportsActiveDateRanges: Boolean
  enableActiveDateRanges: Boolean
  views: [View]
  usages: [String!]
  metadata: Object
}

type DocumentListTypeCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentListTypeCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [DocumentListType]
}

input DocumentListTypeInput {
  name: String
  namespace: String
  documentListTypeFQN: String
  scopeType: String
  installationPackage: String
  version: String
  defaultDocuments: [DocumentInstallationInput]
  documentTypeFQNs: [String!]
  supportsPublishing: Boolean = false
  enablePublishing: Boolean = false
  supportsActiveDateRanges: Boolean = false
  enableActiveDateRanges: Boolean = false
  views: [ViewInput]
  usages: [String!]
  metadata: Object
}

type DocumentType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentType
  name: String
  namespace: String
  documentTypeFQN: String
  adminName: String
  installationPackage: String
  version: String
  metadata: Object
  properties: [Property]
}

type DocumentTypeCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: DocumentTypeCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [DocumentType]
}

input DocumentTypeInput {
  name: String
  namespace: String
  documentTypeFQN: String
  adminName: String
  installationPackage: String
  version: String
  metadata: Object
  properties: [PropertyInput]
}

type EntityCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: EntityCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Object!]
}

type EntityContainer {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: EntityContainer
  tenantId: Int!
  siteId: Int
  masterCatalogId: Int
  catalogId: Int
  localeCode: String
  listFullName: String
  userId: String
  id: String
  item: Object
  createBy: String
  createDate: DateTime!
  updateBy: String
  updateDate: DateTime!
}

type EntityContainerCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: EntityContainerCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [EntityContainer]
}

type EntityList {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: EntityList
  tenantId: Int!
  nameSpace: String
  name: String
  contextLevel: String
  useSystemAssignedId: Boolean
  idProperty: IndexedProperty
  indexA: IndexedProperty
  indexB: IndexedProperty
  indexC: IndexedProperty
  indexD: IndexedProperty
  isVisibleInStorefront: Boolean
  isLocaleSpecific: Boolean
  isShopperSpecific: Boolean
  isSandboxDataCloningSupported: Boolean
  views: [ListView]
  usages: [String!]
  metadata: Object
  createDate: DateTime!
  updateDate: DateTime!
}

type EntityListCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: EntityListCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [EntityList]
}

input EntityListInput {
  tenantId: Int!
  nameSpace: String
  name: String
  contextLevel: String
  useSystemAssignedId: Boolean = false
  idProperty: IndexedPropertyInput
  indexA: IndexedPropertyInput
  indexB: IndexedPropertyInput
  indexC: IndexedPropertyInput
  indexD: IndexedPropertyInput
  isVisibleInStorefront: Boolean = false
  isLocaleSpecific: Boolean = false
  isShopperSpecific: Boolean = false
  isSandboxDataCloningSupported: Boolean = false
  views: [ListViewInput]
  usages: [String!]
  metadata: Object
  createDate: DateTime!
  updateDate: DateTime!
}

input ExclusionListEntryLocationCodeInput {
  locationCode: String!
  orderItemID: Int!
}

type ExtendedProperty {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ExtendedProperty
  key: String
  value: String
}

input ExtendedPropertyInput {
  key: String
  value: String
}

type Facet {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Facet
  label: String
  facetType: String
  field: String
  values: [FacetValue]
}

type FacetValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: FacetValue
  label: String
  isApplied: Boolean
  count: Int!
  value: String
  filterValue: String
  rangeQueryValueStart: String
  rangeQueryValueEnd: String
  parentFacetValue: String
  isDisplayed: Boolean
  childrenFacetValues: [FacetValue]
}

input FulfillmentActionInput {
  actionName: String
  packageIds: [String!]
  pickupIds: [String!]
  digitalPackageIds: [String!]
}

type FulfillmentField {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: FulfillmentField
  name: String
  userEnteredValue: Object
  required: Boolean
}

input FulfillmentFieldInput {
  name: String
  userEnteredValue: Object
  required: Boolean = false
}

type FulfillmentInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: FulfillmentInfo
  fulfillmentContact: Contact
  isDestinationCommercial: Boolean
  shippingMethodCode: String
  shippingMethodName: String
  data: Object
  auditInfo: CrAuditInfo
}

input FulfillmentInfoInput {
  fulfillmentContact: ContactInput
  isDestinationCommercial: Boolean = false
  shippingMethodCode: String
  shippingMethodName: String
  data: Object
  auditInfo: CrAuditInfoInput
}

type FulfillmentShopperNotes {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: FulfillmentShopperNotes
  comments: String
  deliveryInstructions: String
  giftMessage: String
}

input FulfillmentShopperNotesInput {
  comments: String
  deliveryInstructions: String
  giftMessage: String
}

type FulfillmentTask {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: FulfillmentTask
  links: Object
  active: Boolean
  attributes: Object
  completed: Boolean
  completedDate: DateTime
  description: String
  inputs: [TaskInput]
  name: String
  skippable: Boolean
  subject: String
  taskId: String
}

input FulfillmentTaskInput {
  links: Object
  active: Boolean = false
  attributes: Object
  completed: Boolean = false
  completedDate: DateTime
  description: String
  inputs: [TaskInputInput]
  name: String
  skippable: Boolean = false
  subject: String
  taskId: String
}

type GatewayGiftCard {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: GatewayGiftCard
  cardNumber: String
  amount: Float!
  currencyCode: String
}

input GatewayGiftCardInput {
  cardNumber: String
  amount: Float!
  currencyCode: String
}

type GiftCard {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: GiftCard
  activationDate: DateTime
  cardNumber: String
  code: String
  creditType: String
  creditValue: Float
  currencyCode: String
  currentBalance: Float
  customerId: Int
  expirationDate: DateTime
  initialBalance: Float
}

input GiftCardInput {
  activationDate: DateTime
  cardNumber: String
  code: String
  creditType: String
  creditValue: Float
  currencyCode: String
  currentBalance: Float
  customerId: Int
  expirationDate: DateTime
  initialBalance: Float
}

type Hours {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Hours
  label: String
  openTime: String
  closeTime: String
  isClosed: Boolean
}

input HoursInput {
  label: String
  openTime: String
  closeTime: String
  isClosed: Boolean = false
}

type InStockNotificationSubscription {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: InStockNotificationSubscription
  id: Int
  email: String
  customerId: Int
  productCode: String
  locationCode: String
  userId: String
  auditInfo: CuAuditInfo
}

type InStockNotificationSubscriptionCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: InStockNotificationSubscriptionCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [InStockNotificationSubscription]
}

input InStockNotificationSubscriptionInput {
  id: Int
  email: String
  customerId: Int
  productCode: String
  locationCode: String
  userId: String
  auditInfo: CuAuditInfoInput
}

type IndexedProperty {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: IndexedProperty
  propertyName: String
  dataType: String
}

input IndexedPropertyInput {
  propertyName: String
  dataType: String
}

type InvalidCoupon {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: InvalidCoupon
  couponCode: String
  reasonCode: Int!
  reason: String
  createDate: DateTime!
  discountId: Int!
}

input InvalidCouponInput {
  couponCode: String
  reasonCode: Int!
  reason: String
  createDate: DateTime!
  discountId: Int!
}

enum InventoryRequestTypeEnum {
  ALL
  PARTIAL
  ANY
  ALL_STORES
}

input ItemsForDestinationInput {
  destinationId: String
  itemIds: [String!]
}

type JsonNode {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: JsonNode
  array: Boolean
  bigDecimal: Boolean
  bigInteger: Boolean
  binary: Boolean
  boolean: Boolean
  containerNode: Boolean
  double: Boolean
  float: Boolean
  floatingPointNumber: Boolean
  int: Boolean
  integralNumber: Boolean
  long: Boolean
  missingNode: Boolean
  nodeType: NodeTypeEnum
  null: Boolean
  number: Boolean
  object: Boolean
  pojo: Boolean
  short: Boolean
  textual: Boolean
  valueNode: Boolean
}

input KeyValuePair2Input {
  key: String
  value: [String!]
}

type ListView {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ListView
  name: String
  usages: [String!]
  metaData: Object
  security: String
  filter: String
  defaultSort: String
  fields: [ListViewField]
}

type ListViewCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ListViewCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [ListView]
}

type ListViewField {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ListViewField
  name: String
  type: String
  target: String
}

input ListViewFieldInput {
  name: String
  type: String
  target: String
}

input ListViewInput {
  name: String
  usages: [String!]
  metaData: Object
  security: String
  filter: String
  defaultSort: String
  fields: [ListViewFieldInput]
}

type LoAddress {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAddress
  address1: String
  address2: String
  address3: String
  address4: String
  cityOrTown: String
  stateOrProvince: String
  postalOrZipCode: String
  countryCode: String
  addressType: String
  isValidated: Boolean
}

input LoAddressInput {
  address1: String
  address2: String
  address3: String
  address4: String
  cityOrTown: String
  stateOrProvince: String
  postalOrZipCode: String
  countryCode: String
  addressType: String
  isValidated: Boolean = false
}

type LoAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttribute
  id: Int
  adminName: String
  namespace: String
  attributeCode: String!
  inputType: String
  valueType: String!
  dataType: String
  attributeMetadata: [LoAttributeMetadataItem]
  attributeFQN: String
  content: LoAttributeLocalizedContent
  validation: LoAttributeValidation
  vocabularyValues: [LoAttributeVocabularyValue]
  auditInfo: LoAuditInfo
  isActive: Boolean
  isRequired: Boolean
  isReadOnly: Boolean
  isMultiValued: Boolean
  isVisible: Boolean
  order: Int
  displayGroup: String!
}

type LoAttributeCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttributeCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [LoAttribute]
}

input LoAttributeInput {
  id: Int
  adminName: String
  namespace: String
  attributeCode: String!
  inputType: String
  valueType: String!
  dataType: String
  attributeMetadata: [LoAttributeMetadataItemInput]
  attributeFQN: String
  content: LoAttributeLocalizedContentInput
  validation: LoAttributeValidationInput
  vocabularyValues: [LoAttributeVocabularyValueInput]
  auditInfo: LoAuditInfoInput
  isActive: Boolean = false
  isRequired: Boolean = false
  isReadOnly: Boolean = false
  isMultiValued: Boolean = false
  isVisible: Boolean = false
  order: Int
  displayGroup: String!
}

type LoAttributeLocalizedContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttributeLocalizedContent
  localeCode: String
  value: String
}

input LoAttributeLocalizedContentInput {
  localeCode: String
  value: String
}

type LoAttributeMetadataItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttributeMetadataItem
  key: String!
  value: String!
}

input LoAttributeMetadataItemInput {
  key: String!
  value: String!
}

type LoAttributeValidation {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttributeValidation
  regularExpression: String
  minStringLength: Int
  maxStringLength: Int
  minNumericValue: Float
  maxNumericValue: Float
  minDateTime: DateTime
  maxDateTime: DateTime
}

input LoAttributeValidationInput {
  regularExpression: String
  minStringLength: Int
  maxStringLength: Int
  minNumericValue: Float
  maxNumericValue: Float
  minDateTime: DateTime
  maxDateTime: DateTime
}

type LoAttributeValueLocalizedContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttributeValueLocalizedContent
  localeCode: String!
  value: String!
}

input LoAttributeValueLocalizedContentInput {
  localeCode: String!
  value: String!
}

type LoAttributeVocabularyValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAttributeVocabularyValue
  value: String!
  sequence: Int
  isHidden: Boolean
  content: LoAttributeValueLocalizedContent
}

input LoAttributeVocabularyValueInput {
  value: String!
  sequence: Int
  isHidden: Boolean = false
  content: LoAttributeValueLocalizedContentInput
}

type LoAuditInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoAuditInfo
  updateDate: DateTime
  createDate: DateTime
  updateBy: String
  createBy: String
}

input LoAuditInfoInput {
  updateDate: DateTime
  createDate: DateTime
  updateBy: String
  createBy: String
}

type LoFulfillmentType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoFulfillmentType
  code: String
  name: String
}

input LoFulfillmentTypeInput {
  code: String
  name: String
}

type Location {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Location
  code: String
  locationTypes: [LocationType]
  name: String
  description: String
  address: LoAddress
  geo: Coordinates
  phone: String
  fax: String
  supportsInventory: Boolean
  fulfillmentTypes: [LoFulfillmentType]
  regularHours: RegularHours
  shippingOriginContact: ShippingOriginContact
  note: String
  tags: [String!]
  attributes: [LocationAttribute]
  auditInfo: LoAuditInfo
  allowFulfillmentWithNoStock: Boolean
  isDisabled: Boolean
  express: Boolean
  transferEnabled: Boolean
  includeInInventoryAggregrate: Boolean
  includeInLocationExport: Boolean
  warehouseEnabled: Boolean
  requiresManifest: Boolean
}

type LocationAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationAttribute
  attributeDefinition: LoAttribute
  auditInfo: LoAuditInfo
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

input LocationAttributeInput {
  attributeDefinition: LoAttributeInput
  auditInfo: LoAuditInfoInput
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

type LocationCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Location]
}

type LocationGroup {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationGroup
  locationGroupId: Int!
  locationGroupCode: String
  siteIds: [Int!]
  name: String
  locationCodes: [String!]
  auditInfo: LoAuditInfo
}

type LocationGroupCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationGroupCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [LocationGroup]
}

type LocationGroupConfiguration {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationGroupConfiguration
  tenantId: Int!
  siteId: Int!
  locationGroupId: Int!
  locationGroupCode: String
  customerFailedToPickupAfterAction: String
  customerFailedToPickupDeadline: Int
  sendCustomerPickupReminder: Int
  enableForSTH: Boolean
  enableForISPU: Boolean
  enableAdvancedOptionForPickWaveCreation: Boolean
  maximumNumberOfOrdersInPickWave: Int
  defaultNumberOfOrdersInPickWave: Int
  pickWavePrintFormat: String
  closePickWavePermissions: [String!]
  wmsEnabled: Boolean
  enableScanningOfUpcForShipToHome: Boolean
  allowReturns: Boolean
  returnRefundReduction: Boolean
  defaultReturnRefundReductionAmount: Int
  maximumReturnRefundReductionAmount: Int
  defaultCarrier: String
  carriers: [Carrier]
  printReturnLabel: Boolean
  defaultPrinterType: String
  boxTypes: [BoxType]
  attributes: [LocationAttribute]
  bpmConfigurations: [BpmConfiguration]
  auditInfo: LoAuditInfo
  autoPackingListPopup: Boolean
  blockPartialStock: Boolean
  defaultMaxNumberOfShipmentsInPickWave: Int
  displayProductImagesInPickWaveDetails: Boolean
  enablePnpForSTH: Boolean
  enablePnpForBOPIS: Boolean
  blockPartialCancel: Boolean
  packageSettings: PackageSettings
}

input LocationGroupInput {
  locationGroupId: Int!
  locationGroupCode: String
  siteIds: [Int!]
  name: String
  locationCodes: [String!]
  auditInfo: LoAuditInfoInput
}

input LocationInput {
  code: String
  locationTypes: [LocationTypeInput]
  name: String
  description: String
  address: LoAddressInput
  geo: CoordinatesInput
  phone: String
  fax: String
  supportsInventory: Boolean = false
  fulfillmentTypes: [LoFulfillmentTypeInput]
  regularHours: RegularHoursInput
  shippingOriginContact: ShippingOriginContactInput
  note: String
  tags: [String!]
  attributes: [LocationAttributeInput]
  auditInfo: LoAuditInfoInput
  allowFulfillmentWithNoStock: Boolean = false
  isDisabled: Boolean = false
  express: Boolean = false
  transferEnabled: Boolean = false
  includeInInventoryAggregrate: Boolean = false
  includeInLocationExport: Boolean = false
  warehouseEnabled: Boolean = false
  requiresManifest: Boolean = false
}

type LocationInventory {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationInventory
  productCode: String
  locationCode: String
  stockAvailable: Int
  softStockAvailable: Int
  sku: String
  mfgPartNumber: String
}

type LocationInventoryCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationInventoryCollection
  totalCount: Int!
  items: [LocationInventory]
}

input LocationInventoryQueryInput {
  locationCodes: [String!]
  productCodes: [String!]
}

type LocationType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationType
  code: String
  name: String
  auditInfo: LoAuditInfo
}

input LocationTypeInput {
  code: String
  name: String
  auditInfo: LoAuditInfoInput
}

type LocationUsage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationUsage
  locationUsageTypeCode: String
  locationTypeCodes: [String!]
  locationCodes: [String!]
  auditInfo: LoAuditInfo
}

type LocationUsageCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LocationUsageCollection
  totalCount: Int!
  items: [LocationUsage]
}

input LocationUsageInput {
  locationUsageTypeCode: String
  locationTypeCodes: [String!]
  locationCodes: [String!]
  auditInfo: LoAuditInfoInput
}

type LoginState {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: LoginState
  isPasswordChangeRequired: Boolean
  lastPasswordChangeOn: DateTime
  isLocked: Boolean
  lastLockedOn: DateTime
  failedLoginAttemptCount: Int!
  remainingLoginAttempts: Int!
  firstFailedLoginAttemptOn: DateTime
  lastLoginOn: DateTime
  createdOn: DateTime
  updatedOn: DateTime
}

input MZDBHttpContentInput {
  headers: [MZDBStringStringIEnumerableKeyValuePairInput]
}

input MZDBHttpMethodInput {
  method: String
}

input MZDBHttpRequestMessageInput {
  version: String
  content: MZDBHttpContentInput
  method: MZDBHttpMethodInput
  requestUri: DateTime
  headers: [MZDBStringStringIEnumerableKeyValuePairInput]
  properties: Object
}

input MZDBStringStringIEnumerableKeyValuePairInput {
  key: String
  value: [String!]
}

type Mutation {
  createCustomerAccountAttributeDefinition(
    attributeInput: CuAttributeInput
  ): CuAttribute
  updateCustomerAccountAttributeDefinition(
    attributeFQN: String!
    attributeInput: CuAttributeInput
  ): CuAttribute
  validateCustomerAddress(
    addressValidationRequestInput: AddressValidationRequestInput
  ): AddressValidationResponse
  validateAddress(addressInput: CuAddressInput): [CuAddress]
  createCustomerAuthTicket(
    customerUserAuthInfoInput: CustomerUserAuthInfoInput
  ): CustomerAuthTicket
  refreshCustomerAuthTickets(refreshToken: String): CustomerAuthTicket
  createCustomerB2bAccountAttribute(
    accountId: Int!
    customerAttributeInput: CustomerAttributeInput
  ): CustomerAttribute
  deleteB2bAccountAttribute(accountId: Int!, attributeFQN: String!): Boolean
  updateCustomerB2bAccountAttribute(
    accountId: Int!
    attributeFQN: String!
    customerAttributeInput: CustomerAttributeInput
  ): CustomerAttribute
  createCustomerB2bAccount(b2BAccountInput: B2BAccountInput): B2BAccount
  updateCustomerB2bAccount(
    accountId: Int!
    b2BAccountInput: B2BAccountInput
  ): B2BAccount
  createCustomerB2bAccountUser(
    accountId: Int!
    b2BUserAndAuthInfoInput: B2BUserAndAuthInfoInput
  ): B2BUser
  updateCustomerB2bAccountUser(
    accountId: Int!
    userId: String!
    b2BUserInput: B2BUserInput
  ): B2BUser
  removeCustomerB2bAccountUser(accountId: Int!, userId: String!): Boolean
  addRoleToCustomerB2bAccount(
    accountId: Int!
    userId: String!
    roleId: Int!
  ): Boolean
  deleteB2bAccountRole(accountId: Int!, userId: String!, roleId: Int!): Boolean
  createCustomerCredit(userId: String, creditInput: CreditInput): Credit
  updateCustomerCredit(code: String!, creditInput: CreditInput): Credit
  deleteCustomerCredit(code: String!): Boolean
  updateCustomerCreditAssociateToShopper(code: String!): Credit
  resendCustomerCreditEmail(code: String!, userId: String): Boolean
  createCustomerCreditTransaction(
    code: String!
    creditTransactionInput: CreditTransactionInput
  ): CreditTransaction
  createCustomerAccountAttribute(
    accountId: Int!
    userId: String
    customerAttributeInput: CustomerAttributeInput
  ): CustomerAttribute
  deleteCustomerAccountAttribute(
    accountId: Int!
    attributeFQN: String!
    userId: String
  ): Boolean
  updateCustomerAccountAttribute(
    accountId: Int!
    attributeFQN: String!
    userId: String
    customerAttributeInput: CustomerAttributeInput
  ): CustomerAttribute
  createCustomerAccountCard(accountId: Int!, cardInput: CardInput): Card
  updateCustomerAccountCard(
    accountId: Int!
    cardId: String!
    cardInput: CardInput
  ): Card
  deleteCustomerAccountCard(accountId: Int!, cardId: String!): Boolean
  createCustomerAccountContact(
    accountId: Int!
    customerContactInput: CustomerContactInput
  ): CustomerContact
  updateCustomerAccountContacts(
    accountId: Int!
    customerContactInput: CustomerContactInput
  ): CustomerContactCollection
  updateCustomerAccountContact(
    accountId: Int!
    contactId: Int!
    userId: String
    customerContactInput: CustomerContactInput
  ): CustomerContact
  deleteCustomerAccountContact(accountId: Int!, contactId: Int!): Boolean
  createCustomerAccount(
    customerAccountInput: CustomerAccountInput
  ): CustomerAccount
  updateCustomerAccount(
    accountId: Int!
    customerAccountInput: CustomerAccountInput
  ): CustomerAccount
  deleteCustomerAccount(accountId: Int!): Boolean
  createCustomerAccountTransaction(
    accountId: Int!
    transactionInput: TransactionInput
  ): Transaction
  deleteCustomerAccountTransaction(
    accountId: Int!
    transactionId: String!
  ): Boolean
  recomputeCustomerAccountLifetimeValue(accountId: Int!): Boolean
  createCustomerAccountNote(
    accountId: Int!
    customerNoteInput: CustomerNoteInput
  ): CustomerNote
  updateCustomerAccountNote(
    accountId: Int!
    noteId: Int!
    customerNoteInput: CustomerNoteInput
  ): CustomerNote
  deleteCustomerAccountNote(accountId: Int!, noteId: Int!): Boolean
  createCustomerAccountPurchaseOrderAccount(
    accountId: Int!
    customerPurchaseOrderAccountInput: CustomerPurchaseOrderAccountInput
  ): CustomerPurchaseOrderAccount
  updateCustomerPurchaseOrderAccount(
    accountId: Int!
    customerPurchaseOrderAccountInput: CustomerPurchaseOrderAccountInput
  ): CustomerPurchaseOrderAccount
  createCustomerAccountPurchaseOrderAccountTransaction(
    accountId: Int!
    purchaseOrderTransactionInput: PurchaseOrderTransactionInput
  ): PurchaseOrderTransaction
  createPurchaseOrderAccount(
    startIndex: Int
    pageSize: Int
    sortBy: String
    accountType: String
  ): CustomerPurchaseOrderAccountCollection
  changeCustomerAccountPassword(
    accountId: Int!
    unlockAccount: Boolean
    userId: String
    passwordInfoInput: PasswordInfoInput
  ): Boolean
  updateCustomerAccountPasswords(
    accountPasswordInfoCollectionInput: AccountPasswordInfoCollectionInput
  ): ChangePasswordResultCollection
  resetCustomerAccountPassword(
    resetPasswordInfoInput: ResetPasswordInfoInput
  ): Boolean
  createCustomerAccountLogin(
    accountId: Int!
    customerLoginInfoInput: CustomerLoginInfoInput
  ): CustomerAuthTicket
  createCustomerAccountAndLogin(
    customerAccountAndAuthInfoInput: CustomerAccountAndAuthInfoInput
  ): CustomerAuthTicket
  setCustomerAccountLoginLocked(
    accountId: Int!
    userId: String
    graphQLBoolean: Boolean
  ): Boolean
  setCustomerAccountPasswordChangeRequired(
    accountId: Int!
    userId: String
    graphQLBoolean: Boolean
  ): Boolean
  createCustomerAccounts(
    customerAccountAndAuthInfoInput: CustomerAccountAndAuthInfoInput
  ): CustomerAccountCollection
  createCustomerSegment(
    customerSegmentInput: CustomerSegmentInput
  ): CustomerSegment
  updateCustomerSegment(
    id: Int!
    customerSegmentInput: CustomerSegmentInput
  ): CustomerSegment
  deleteCustomerSegment(id: Int!): Boolean
  createCustomerSegmentAccount(id: Int!, graphQLInt: Int): Boolean
  deleteCustomerSegmentAccount(id: Int!, accountId: Int!): Boolean
  createInStockNotification(
    inStockNotificationSubscriptionInput: InStockNotificationSubscriptionInput
  ): InStockNotificationSubscription
  deleteInStockNotification(id: Int!): Boolean
  createResolvedPriceList(object: Object): ResolvedPriceList
  configureProduct(
    productCode: String!
    includeOptionDetails: Boolean
    skipInventoryCheck: Boolean
    quantity: Int
    purchaseLocation: String
    variationProductCodeFilter: String
    productOptionSelectionsInput: ProductOptionSelectionsInput
  ): ConfiguredProduct
  validateProduct(
    productCode: String!
    skipInventoryCheck: Boolean
    quantity: Int
    skipDefaults: Boolean
    purchaseLocation: String
    productOptionSelectionsInput: ProductOptionSelectionsInput
  ): ProductValidationSummary
  validateProductDiscounts(
    productCode: String!
    variationProductCode: String
    customerAccountId: Int
    allowInactive: Boolean
    skipInventoryCheck: Boolean
    discountSelectionsInput: DiscountSelectionsInput
  ): DiscountValidationSummary
  manageLocationProductInventory(
    locationInventoryQueryInput: LocationInventoryQueryInput
  ): LocationInventoryCollection
  createProductCost(
    productCostQueryInput: ProductCostQueryInput
  ): ProductCostCollection
  createCartForUser(userId: String!): Cart
  updateUserCart(userId: String!, cartInput: CartInput): Cart
  updateCurrentCart(cartInput: CartInput): Cart
  deleteCurrentCart: Boolean
  updateCart(cartId: String!, cartInput: CartInput): Cart
  deleteCart(cartId: String!): Boolean
  deleteUserCart(userId: String!): Boolean
  rejectCartDiscount(cartId: String!, discountId: Int!): Cart
  updateCartCoupon(cartId: String!, couponCode: String!): Cart
  deleteCartCoupons(cartId: String!): Cart
  deleteCartCoupon(cartId: String!, couponCode: String!): Cart
  addExtendedPropertyToCurrentCart(
    extendedPropertyInput: ExtendedPropertyInput
  ): [ExtendedProperty]
  updateCurrentCartExtendedProperties(
    upsert: Boolean
    extendedPropertyInput: ExtendedPropertyInput
  ): [ExtendedProperty]
  deleteCurrentCartExtendedProperties(graphQLString: String): Boolean
  updateCurrentCartExtendedProperty(
    key: String!
    upsert: Boolean
    extendedPropertyInput: ExtendedPropertyInput
  ): ExtendedProperty
  deleteCurrentCartExtendedProperty(key: String!): Boolean
  deleteCurrentCartItems: Cart
  addItemToCurrentCart(cartItemInput: CartItemInput): CartItem
  deleteCartItems(cartId: String!): Cart
  addItemToCart(cartId: String!, cartItemInput: CartItemInput): CartItem
  updateCurrentCartItem(
    cartItemId: String!
    cartItemInput: CartItemInput
  ): CartItem
  deleteCurrentCartItem(cartItemId: String!): Boolean
  updateCartItem(
    cartId: String!
    cartItemId: String!
    cartItemInput: CartItemInput
  ): CartItem
  deleteCartItem(cartId: String!, cartItemId: String!): Boolean
  addItemsToCurrentCart(
    throwErrorOnInvalidItems: Boolean
    cartItemInput: CartItemInput
  ): Boolean
  addItemsToCart(
    cartId: String!
    throwErrorOnInvalidItems: Boolean
    cartItemInput: CartItemInput
  ): Boolean
  updateCurrentCartItemQuantity(cartItemId: String!, quantity: Int!): CartItem
  updateCartItemQuantity(
    cartId: String!
    cartItemId: String!
    quantity: Int!
  ): CartItem
  deleteCurrentCartMessages: Boolean
  deleteCurrentCartMessage(messageId: String!): Boolean
  createCommerceChannel(channelInput: ChannelInput): Channel
  updateChannel(code: String!, channelInput: ChannelInput): Channel
  deleteCommerceChannel(code: String!): Boolean
  createCommerceChannelGroup(channelGroupInput: ChannelGroupInput): ChannelGroup
  updateChannelGroup(
    code: String!
    channelGroupInput: ChannelGroupInput
  ): ChannelGroup
  deleteCommerceChannelGroup(code: String!): Boolean
  createCheckoutAttribute(
    checkoutId: String!
    orderAttributeInput: OrderAttributeInput
  ): [OrderAttribute]
  updateCheckoutAttributes(
    checkoutId: String!
    removeMissing: Boolean
    orderAttributeInput: OrderAttributeInput
  ): [OrderAttribute]
  updateCheckout(checkoutId: String!, checkoutInput: CheckoutInput): Checkout
  createCheckout(cartId: String): Checkout
  createCheckoutShippingMethod(
    checkoutId: String!
    checkoutGroupShippingMethodInput: CheckoutGroupShippingMethodInput
  ): Checkout
  createCheckoutAction(
    checkoutId: String!
    checkoutActionInput: CheckoutActionInput
  ): Checkout
  updateCheckoutDigitalWalletType(
    checkoutId: String!
    digitalWalletType: String!
    digitalWalletInput: DigitalWalletInput
  ): Checkout
  updateCheckoutPriceList(checkoutId: String!, graphQLString: String): Checkout
  resendCheckoutEmail(checkoutId: String!): Boolean
  updateCheckoutCoupon(checkoutId: String!, couponCode: String!): Checkout
  deleteCheckoutCoupons(checkoutId: String!): Checkout
  deleteCheckoutCoupon(checkoutId: String!, couponCode: String!): Checkout
  updateCheckoutDestination(
    checkoutId: String!
    destinationId: String!
    destinationInput: DestinationInput
  ): Destination
  deleteCheckoutDestination(
    checkoutId: String!
    destinationId: String!
  ): Boolean
  createCheckoutDestination(
    checkoutId: String!
    destinationInput: DestinationInput
  ): Destination
  createCheckoutItem(
    checkoutId: String!
    orderItemInput: CrOrderItemInput
  ): Checkout
  deleteCheckoutItem(checkoutId: String!, itemId: String!): Checkout
  updateCheckoutItemDestination(
    checkoutId: String!
    itemId: String!
    destinationId: String!
  ): Checkout
  createCheckoutItemDestination(
    checkoutId: String!
    itemsForDestinationInput: ItemsForDestinationInput
  ): Checkout
  createCheckoutPaymentAction(
    checkoutId: String!
    paymentActionInput: PaymentActionInput
  ): Checkout
  updateCheckoutPaymentAction(
    checkoutId: String!
    paymentId: String!
    paymentActionInput: PaymentActionInput
  ): Checkout
  createOrderPaymentAction(
    orderId: String!
    paymentActionInput: PaymentActionInput
  ): Order
  createOrderPaymentPaymentAction(
    orderId: String!
    paymentId: String!
    paymentActionInput: PaymentActionInput
  ): Order
  createOrderAutoCapture(orderId: String!, forceCapture: Boolean): Order
  createOrderPickup(orderId: String!, pickupInput: PickupInput): Pickup
  updateOrderPickup(
    orderId: String!
    pickupId: String!
    pickupInput: PickupInput
  ): Pickup
  deleteOrderPickup(orderId: String!, pickupId: String!): Boolean
  createOrderRefund(orderId: String!, refundInput: RefundInput): Refund
  updateOrderRefund(orderId: String!, refundId: String!): Boolean
  createOrderShipment(orderId: String!, graphQLString: String): [PackageObj]
  deleteOrderShipment(orderId: String!, shipmentId: String!): Boolean
  repriceOrderShipment(
    shipmentNumber: Int!
    orderId: String!
    repriceShipmentObjectInput: RepriceShipmentObjectInput
  ): Shipment
  createOrderShipmentAdjustment(
    orderId: String!
    shipmentNumber: Int!
    shipmentAdjustmentInput: ShipmentAdjustmentInput
  ): Shipment
  createOrderShipmentItemAdjustment(
    shipmentNumber: Int!
    itemId: Int!
    orderId: String!
    shipmentItemAdjustmentInput: ShipmentItemAdjustmentInput
  ): Shipment
  splitOrderShipment(
    orderId: String!
    shipmentNumber: String!
    splitShipmentsObjectInput: SplitShipmentsObjectInput
  ): [Shipment]
  updateOrderValidationResults(
    orderId: String!
    orderValidationResultInput: OrderValidationResultInput
  ): OrderValidationResult
  updateOrderAdjustment(
    orderId: String!
    updateMode: String
    version: String
    adjustmentInput: AdjustmentInput
  ): Order
  deleteOrderAdjustment(
    orderId: String!
    updateMode: String
    version: String
  ): Order
  updateOrderShippingAdjustment(
    orderId: String!
    updateMode: String
    version: String
    adjustmentInput: AdjustmentInput
  ): Order
  deleteOrderAdjustmentShipping(
    orderId: String!
    updateMode: String
    version: String
  ): Order
  updateOrderHandlingAdjustment(
    orderId: String!
    updateMode: String
    version: String
    adjustmentInput: AdjustmentInput
  ): Order
  deleteOrderAdjustmentHandling(
    orderId: String!
    updateMode: String
    version: String
  ): Order
  createOrderAttribute(
    orderId: String!
    orderAttributeInput: OrderAttributeInput
  ): [OrderAttribute]
  updateOrderAttributes(
    orderId: String!
    removeMissing: Boolean
    orderAttributeInput: OrderAttributeInput
  ): [OrderAttribute]
  updateOrderBillingInfo(
    orderId: String!
    updateMode: String
    version: String
    billingInfoInput: BillingInfoInput
  ): BillingInfo
  cancelOrder(orderId: String!, canceledReasonInput: CanceledReasonInput): Order
  createOrder(cartId: String, quoteId: String, orderInput: OrderInput): Order
  updateUserOrder(orderId: String!): Order
  updateOrderPriceList(
    orderId: String!
    updateMode: String
    version: String
    graphQLString: String
  ): Order
  resendOrderEmail(
    orderId: String!
    orderActionInput: OrderActionInput
  ): Boolean
  updateOrder(
    orderId: String!
    updateMode: String
    version: String
    orderInput: OrderInput
  ): Order
  updateOrderDigitalWalletTpe(
    orderId: String!
    digitalWalletType: String!
    digitalWalletInput: DigitalWalletInput
  ): Order
  updateOrderDraft(orderId: String!, version: String): Boolean
  createOrderAction(orderId: String!, orderActionInput: OrderActionInput): Order
  updateOrderDiscount(
    orderId: String!
    discountId: Int!
    updateMode: String
    version: String
    appliedDiscountInput: CrAppliedDiscountInput
  ): Order
  updateOrderPrice(refreshShipping: Boolean, orderInput: OrderInput): Order
  updateOrderCoupon(
    orderId: String!
    couponCode: String!
    updateMode: String
    version: String
  ): Order
  deleteOrderCoupons(
    orderId: String!
    updateMode: String
    version: String
  ): Order
  deleteOrderCoupon(
    orderId: String!
    couponCode: String!
    updateMode: String
    version: String
  ): Order
  createOrderDigitalPackage(
    orderId: String!
    digitalPackageInput: DigitalPackageInput
  ): DigitalPackage
  updateOrderDigitalPackage(
    orderId: String!
    digitalPackageId: String!
    digitalPackageInput: DigitalPackageInput
  ): DigitalPackage
  deleteOrderDigitalPackage(
    orderId: String!
    digitalPackageId: String!
  ): Boolean
  createOrderExtendedProperties(
    orderId: String!
    updateMode: String
    version: String
    extendedPropertyInput: ExtendedPropertyInput
  ): [ExtendedProperty]
  updateOrderExtendedProperties(
    orderId: String!
    updateMode: String
    version: String
    upsert: Boolean
    extendedPropertyInput: ExtendedPropertyInput
  ): [ExtendedProperty]
  deleteOrderExtendedProperties(
    orderId: String!
    updateMode: String
    version: String
    graphQLString: String
  ): Boolean
  updateOrderExtendedProperty(
    orderId: String!
    key: String!
    updateMode: String
    version: String
    upsert: Boolean
    extendedPropertyInput: ExtendedPropertyInput
  ): ExtendedProperty
  deleteOrderExtendedProperty(
    orderId: String!
    key: String!
    updateMode: String
    version: String
  ): Boolean
  createOrderFulfillmentAction(
    orderId: String!
    fulfillmentActionInput: FulfillmentActionInput
  ): Order
  resendOrderFulfillmentEmail(
    orderId: String!
    fulfillmentActionInput: FulfillmentActionInput
  ): Order
  updateOrderFulfillmentInfo(
    orderId: String!
    updateMode: String
    version: String
    fulfillmentInfoInput: FulfillmentInfoInput
  ): FulfillmentInfo
  createOrderItem(
    orderId: String!
    updateMode: String
    version: String
    skipInventoryCheck: Boolean
    orderItemInput: CrOrderItemInput
  ): Order
  deleteOrderItem(
    orderId: String!
    orderItemId: String!
    updateMode: String
    version: String
  ): Order
  updateOrderItemPrice(
    orderId: String!
    orderItemId: String!
    price: Float!
    updateMode: String
    version: String
  ): Order
  updateOrderItemQuantity(
    orderId: String!
    orderItemId: String!
    quantity: Int!
    updateMode: String
    version: String
  ): Order
  updateOrderItemDutyAmount(
    orderId: String!
    orderItemId: String!
    dutyAmount: Float!
    updateMode: String
    version: String
  ): Order
  updateOrderItemFulfillment(
    orderId: String!
    orderItemId: String!
    updateMode: String
    version: String
    orderItemInput: CrOrderItemInput
  ): Order
  updateOrderItemDiscount(
    orderId: String!
    orderItemId: String!
    discountId: Int!
    updateMode: String
    version: String
    appliedDiscountInput: CrAppliedDiscountInput
  ): Order
  createOrderNote(orderId: String!, orderNoteInput: OrderNoteInput): OrderNote
  updateOrderNotes(
    orderId: String!
    noteId: String!
    orderNoteInput: OrderNoteInput
  ): OrderNote
  deleteOrderNote(orderId: String!, noteId: String!): Boolean
  createOrderPackage(
    orderId: String!
    packageObjInput: PackageObjInput
  ): PackageObj
  updateOrderPackage(
    orderId: String!
    packageId: String!
    packageObjInput: PackageObjInput
  ): PackageObj
  deleteOrderPackage(orderId: String!, packageId: String!): Boolean
  validateOrder(orderInput: OrderInput): OrderValidationResult
  updateQuote(
    quoteId: String!
    updateMode: String
    quoteInput: QuoteInput
  ): Quote
  deleteQuote(quoteId: String!, draft: Boolean): Boolean
  createQuote(quoteInput: QuoteInput): Quote
  createQuoteItem(
    quoteId: String!
    updateMode: String
    orderItemInput: CrOrderItemInput
  ): Quote
  deleteQuoteItem(
    quoteId: String!
    quoteItemId: String!
    updateMode: String
  ): Boolean
  createReturn(returnObjInput: ReturnObjInput): ReturnObj
  resendReturnEmail(returnActionInput: ReturnActionInput): Boolean
  updateReturn(returnId: String!, returnObjInput: ReturnObjInput): ReturnObj
  deleteReturn(returnId: String!): Boolean
  createReturnAction(returnActionInput: ReturnActionInput): ReturnCollection
  setReturnShip(
    returnId: String!
    returnItemSpecifierInput: ReturnItemSpecifierInput
  ): Order
  createReturnPaymentAction(
    returnId: String!
    paymentActionInput: PaymentActionInput
  ): ReturnObj
  createReturnPaymentPaymentAction(
    returnId: String!
    paymentId: String!
    paymentActionInput: PaymentActionInput
  ): ReturnObj
  setReturnRestock(
    returnId: String!
    restockableReturnItemInput: RestockableReturnItemInput
  ): ReturnObj
  createReturnItem(
    returnId: String!
    returnItemInput: ReturnItemInput
  ): ReturnObj
  deleteReturnItem(
    returnId: String
    returnItemId: String
    orderId: String!
    orderItemId: String!
  ): ReturnObj
  createReturnNote(returnId: String!, orderNoteInput: OrderNoteInput): OrderNote
  updateReturnNote(
    returnId: String!
    noteId: String!
    orderNoteInput: OrderNoteInput
  ): OrderNote
  deleteReturnNote(returnId: String!, noteId: String!): Boolean
  createReturnPackage(
    returnId: String!
    packageObjInput: PackageObjInput
  ): PackageObj
  updateReturnPackage(
    returnId: String!
    packageId: String!
    packageObjInput: PackageObjInput
  ): PackageObj
  deleteReturnPackage(returnId: String!, packageId: String!): Boolean
  createReturnShipment(returnId: String!, graphQLString: String): [PackageObj]
  deleteReturnShipment(returnId: String!, shipmentId: String!): Boolean
  createWishlist(wishlistInput: WishlistInput): Wishlist
  updateWishlist(wishlistId: String!, wishlistInput: WishlistInput): Wishlist
  deleteWishlist(wishlistId: String!): Boolean
  deleteWishlistItems(wishlistId: String!): Wishlist
  createWishlistItem(
    wishlistId: String!
    wishlistItemInput: WishlistItemInput
  ): WishlistItem
  updateWishlistItem(
    wishlistId: String!
    wishlistItemId: String!
    wishlistItemInput: WishlistItemInput
  ): WishlistItem
  deleteWishlistItem(wishlistId: String!, wishlistItemId: String!): Boolean
  updateWishlistItemQuantity(
    wishlistId: String!
    wishlistItemId: String!
    quantity: Int!
  ): WishlistItem
  updateDocumentListDocumentContent(
    documentListName: String!
    documentId: String!
    httpRequestMessageInput: CoHttpRequestMessageInput
  ): Boolean
  deleteDocumentListDocumentContent(
    documentListName: String!
    documentId: String!
  ): Boolean
  updateDocumentListDocumentTreeContent(
    documentListName: String!
    documentName: String!
    httpRequestMessageInput: CoHttpRequestMessageInput
  ): Boolean
  deleteDocumentListDocumentTreeContent(
    documentListName: String!
    documentName: String!
    httpRequestMessageInput: CoHttpRequestMessageInput
  ): Boolean
  createDocumentListDocument(
    documentListName: String!
    documentInput: DocumentInput
  ): Document
  updateDocumentListDocument(
    documentListName: String!
    documentId: String!
    documentInput: DocumentInput
  ): Document
  patchDocumentListDocument(
    documentListName: String!
    documentId: String!
    documentInput: DocumentInput
  ): Document
  deleteDocumentListDocument(
    documentListName: String!
    documentId: String!
  ): Boolean
  createDocumentList(documentListInput: DocumentListInput): DocumentList
  updateDocumentList(
    documentListName: String!
    documentListInput: DocumentListInput
  ): DocumentList
  deleteDocumentList(documentListName: String!): Boolean
  createDocumentListType(
    documentListTypeInput: DocumentListTypeInput
  ): DocumentListType
  updateDocumentListType(
    documentListTypeFQN: String!
    documentListTypeInput: DocumentListTypeInput
  ): DocumentListType
  createDocumentDraft(documentLists: String, graphQLString: String): Boolean
  toggleDocumentPublishing(
    documentLists: String
    graphQLString: String
  ): Boolean
  createDocumentType(documentTypeInput: DocumentTypeInput): DocumentType
  updateDocumentType(
    documentTypeName: String!
    documentTypeInput: DocumentTypeInput
  ): DocumentType
  createPropertyType(propertyTypeInput: PropertyTypeInput): PropertyType
  updatePropertyType(
    propertyTypeName: String!
    propertyTypeInput: PropertyTypeInput
  ): PropertyType
  deletePropertyType(propertyTypeName: String!): Boolean
  adminCreateLocation(locationInput: LocationInput): Location
  adminUpdateLocation(
    locationCode: String!
    locationInput: LocationInput
  ): Location
  deleteAdminLocation(locationCode: String!): Boolean
  adminCreateLocationAttribute(attributeInput: LoAttributeInput): LoAttribute
  adminUpdateLocationAttribute(
    attributeFQN: String!
    attributeInput: LoAttributeInput
  ): LoAttribute
  adminCreateLocationGroup(
    locationGroupInput: LocationGroupInput
  ): LocationGroup
  updateLocationUsage(
    code: String!
    locationUsageInput: LocationUsageInput
  ): LocationUsage
  adminCreateLocationType(locationTypeInput: LocationTypeInput): LocationType
  adminUpdateLocationType(
    locationTypeCode: String!
    locationTypeInput: LocationTypeInput
  ): LocationType
  deleteAdminLocationType(locationTypeCode: String!): Boolean
  updateEntityListEntities(
    entityListFullName: String!
    id: String!
    httpRequestMessageInput: MZDBHttpRequestMessageInput
  ): Boolean
  deleteEntityListEntity(entityListFullName: String!, id: String!): Boolean
  createEntityListEntity(
    entityListFullName: String!
    httpRequestMessageInput: MZDBHttpRequestMessageInput
  ): Boolean
  updateEntityList(
    entityListFullName: String!
    entityListInput: EntityListInput
  ): EntityList
  deleteEntityList(entityListFullName: String!): Boolean
  createEntityList(entityListInput: EntityListInput): EntityList
  createEntityListView(
    entityListFullName: String!
    listViewInput: ListViewInput
  ): ListView
  updateEntityListView(
    entityListFullName: String!
    viewName: String!
    listViewInput: ListViewInput
  ): ListView
  deleteEntityListView(entityListFullName: String!, viewName: String!): Boolean
  createTargetRule(targetRuleInput: TargetRuleInput): TargetRule
  updateTargetRule(code: String!, targetRuleInput: TargetRuleInput): TargetRule
  deleteCommerceTargetRule(code: String!): Boolean
  validateTargetRule(targetRuleInput: TargetRuleInput): Boolean
  createOrderRoutingSuggestion(
    returnSuggestionLog: Boolean
    suggestionRequestInput: SuggestionRequestInput
  ): SuggestionResponse
}

enum NodeTypeEnum {
  ARRAY
  BINARY
  BOOLEAN
  MISSING
  NULL
  NUMBER
  OBJECT
  POJO
  STRING
}

"""
Object custom scalar type
"""
scalar Object

type Order {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Order
  orderNumber: Int
  locationCode: String
  version: String
  parentOrderId: String
  parentOrderNumber: Int
  parentCheckoutId: String
  parentCheckoutNumber: Int
  partialOrderNumber: Int
  partialOrderCount: Int
  isPartialOrder: Boolean
  parentReturnId: String
  parentReturnNumber: Int
  originalCartId: String
  originalQuoteId: String
  originalQuoteNumber: Int
  priceListCode: String
  availableActions: [String!]
  shopperNotes: ShopperNotes
  customerAccountId: Int
  customerTaxId: String
  isTaxExempt: Boolean
  email: String
  ipAddress: String
  sourceDevice: String
  acceptsMarketing: Boolean
  status: String
  type: String
  paymentStatus: String
  returnStatus: String
  isEligibleForReturns: Boolean
  totalCollected: Float!
  attributes: [OrderAttribute]
  adjustment: Adjustment
  shippingAdjustment: Adjustment
  handlingAdjustment: Adjustment
  shippingDiscounts: [ShippingDiscount]
  handlingDiscounts: [CrAppliedDiscount]
  handlingAmount: Float
  handlingSubTotal: Float
  handlingTotal: Float
  dutyAmount: Float
  dutyTotal: Float
  fulfillmentStatus: String
  submittedDate: DateTime
  cancelledDate: DateTime
  closedDate: DateTime
  acceptedDate: DateTime
  notes: [OrderNote]
  items: [CrOrderItem]
  validationResults: [OrderValidationResult]
  billingInfo: BillingInfo
  payments: [Payment]
  refunds: [Refund]
  packages: [PackageObj]
  pickups: [Pickup]
  digitalPackages: [DigitalPackage]
  shipments: [Shipment]
  isDraft: Boolean
  hasDraft: Boolean
  isImport: Boolean
  isHistoricalImport: Boolean
  importDate: DateTime
  isUnified: Boolean
  externalId: String
  couponCodes: [String!]
  invalidCoupons: [InvalidCoupon]
  amountAvailableForRefund: Float!
  amountRemainingForPayment: Float!
  amountRefunded: Float!
  readyToCapture: Boolean
  isOptInForSms: Boolean
  userId: String
  id: String
  tenantId: Int
  siteId: Int
  channelCode: String
  currencyCode: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  fulfillmentInfo: FulfillmentInfo
  orderDiscounts: [CrAppliedDiscount]
  suggestedDiscounts: [SuggestedDiscount]
  rejectedDiscounts: [SuggestedDiscount]
  data: Object
  taxData: Object
  subtotal: Float
  discountedSubtotal: Float
  discountTotal: Float
  discountedTotal: Float
  shippingTotal: Float
  shippingSubTotal: Float
  shippingTaxTotal: Float
  handlingTaxTotal: Float
  itemTaxTotal: Float
  taxTotal: Float
  feeTotal: Float
  total: Float
  lineItemSubtotalWithOrderAdjustments: Float
  shippingAmountBeforeDiscountsAndAdjustments: Float
  lastValidationDate: DateTime
  expirationDate: DateTime
  changeMessages: [ChangeMessage]
  extendedProperties: [ExtendedProperty]
  discountThresholdMessages: [ThresholdMessage]
  auditInfo: CrAuditInfo
}

input OrderActionInput {
  actionName: String
}

type OrderAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderAttribute
  auditInfo: CrAuditInfo
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

input OrderAttributeInput {
  auditInfo: CrAuditInfoInput
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

type OrderCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Order]
}

input OrderInput {
  orderNumber: Int
  locationCode: String
  version: String
  parentOrderId: String
  parentOrderNumber: Int
  parentCheckoutId: String
  parentCheckoutNumber: Int
  partialOrderNumber: Int
  partialOrderCount: Int
  isPartialOrder: Boolean = false
  parentReturnId: String
  parentReturnNumber: Int
  originalCartId: String
  originalQuoteId: String
  originalQuoteNumber: Int
  priceListCode: String
  availableActions: [String!]
  shopperNotes: ShopperNotesInput
  customerAccountId: Int
  customerTaxId: String
  isTaxExempt: Boolean = false
  email: String
  ipAddress: String
  sourceDevice: String
  acceptsMarketing: Boolean = false
  status: String
  type: String
  paymentStatus: String
  returnStatus: String
  isEligibleForReturns: Boolean = false
  totalCollected: Float!
  attributes: [OrderAttributeInput]
  adjustment: AdjustmentInput
  shippingAdjustment: AdjustmentInput
  handlingAdjustment: AdjustmentInput
  shippingDiscounts: [ShippingDiscountInput]
  handlingDiscounts: [CrAppliedDiscountInput]
  handlingAmount: Float
  handlingSubTotal: Float
  handlingTotal: Float
  dutyAmount: Float
  dutyTotal: Float
  fulfillmentStatus: String
  submittedDate: DateTime
  cancelledDate: DateTime
  closedDate: DateTime
  acceptedDate: DateTime
  notes: [OrderNoteInput]
  items: [CrOrderItemInput]
  validationResults: [OrderValidationResultInput]
  billingInfo: BillingInfoInput
  payments: [PaymentInput]
  refunds: [RefundInput]
  packages: [PackageObjInput]
  pickups: [PickupInput]
  digitalPackages: [DigitalPackageInput]
  shipments: [ShipmentInput]
  isDraft: Boolean = false
  hasDraft: Boolean = false
  isImport: Boolean = false
  isHistoricalImport: Boolean = false
  importDate: DateTime
  isUnified: Boolean = false
  externalId: String
  couponCodes: [String!]
  invalidCoupons: [InvalidCouponInput]
  amountAvailableForRefund: Float!
  amountRemainingForPayment: Float!
  amountRefunded: Float!
  readyToCapture: Boolean = false
  isOptInForSms: Boolean = false
  userId: String
  id: String
  tenantId: Int
  siteId: Int
  channelCode: String
  currencyCode: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  fulfillmentInfo: FulfillmentInfoInput
  orderDiscounts: [CrAppliedDiscountInput]
  suggestedDiscounts: [SuggestedDiscountInput]
  rejectedDiscounts: [SuggestedDiscountInput]
  data: Object
  taxData: Object
  subtotal: Float
  discountedSubtotal: Float
  discountTotal: Float
  discountedTotal: Float
  shippingTotal: Float
  shippingSubTotal: Float
  shippingTaxTotal: Float
  handlingTaxTotal: Float
  itemTaxTotal: Float
  taxTotal: Float
  feeTotal: Float
  total: Float
  lineItemSubtotalWithOrderAdjustments: Float
  shippingAmountBeforeDiscountsAndAdjustments: Float
  lastValidationDate: DateTime
  expirationDate: DateTime
  changeMessages: [ChangeMessageInput]
  extendedProperties: [ExtendedPropertyInput]
  discountThresholdMessages: [ThresholdMessageInput]
  auditInfo: CrAuditInfoInput
}

type OrderItemCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderItemCollection
  totalCount: Int!
  items: [CrOrderItem]
}

input OrderItemInput {
  backorderable: Boolean = false
  customItemData: Object!
  itemDependency: Int!
  orderItemID: Int!
  partNumber: String!
  quantity: Int!
  sku: String!
  upc: String!
}

type OrderNote {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderNote
  id: String
  text: String
  auditInfo: CrAuditInfo
}

input OrderNoteInput {
  id: String
  text: String
  auditInfo: CrAuditInfoInput
}

type OrderReturnableItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderReturnableItem
  productCode: String
  productName: String
  shipmentNumber: Int
  shipmentItemId: Int
  quantityOrdered: Int!
  quantityFulfilled: Int!
  quantityReturned: Int!
  quantityReturnable: Int!
  fulfillmentStatus: String
  orderItemId: String
  orderLineId: Int!
  orderItemOptionAttributeFQN: String
  unitQuantity: Int!
  parentProductCode: String
  parentProductName: String
  fulfillmentFields: [FulfillmentField]
  sku: String
  mfgPartNumber: String
}

type OrderReturnableItemCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderReturnableItemCollection
  totalCount: Int!
  items: [OrderReturnableItem]
}

enum OrderTypeEnum {
  DIRECTSHIP
  TRANSFER
}

type OrderValidationMessage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderValidationMessage
  orderItemId: String
  messageType: String
  message: String
}

input OrderValidationMessageInput {
  orderItemId: String
  messageType: String
  message: String
}

type OrderValidationResult {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: OrderValidationResult
  validationId: String
  validatorName: String
  validatorType: String
  status: String
  createdDate: DateTime
  messages: [OrderValidationMessage]
}

input OrderValidationResultInput {
  validationId: String
  validatorName: String
  validatorType: String
  status: String
  createdDate: DateTime
  messages: [OrderValidationMessageInput]
}

type PackageItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PackageItem
  productCode: String
  quantity: Int!
  fulfillmentItemType: String
  lineId: Int
  optionAttributeFQN: String
}

input PackageItemInput {
  productCode: String
  quantity: Int!
  fulfillmentItemType: String
  lineId: Int
  optionAttributeFQN: String
}

type PackageObj {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PackageObj
  shippingMethodCode: String
  shippingMethodName: String
  shipmentId: String
  trackingNumber: String
  trackingNumbers: [String!]
  packagingType: String
  hasLabel: Boolean
  measurements: CrPackageMeasurements
  carrier: String
  signatureRequired: Boolean
  trackings: [Tracking]
  id: String
  code: String
  status: String
  items: [PackageItem]
  fulfillmentDate: DateTime
  fulfillmentLocationCode: String
  auditInfo: CrAuditInfo
  availableActions: [String!]
  changeMessages: [ChangeMessage]
}

input PackageObjInput {
  shippingMethodCode: String
  shippingMethodName: String
  shipmentId: String
  trackingNumber: String
  trackingNumbers: [String!]
  packagingType: String
  hasLabel: Boolean = false
  measurements: CrPackageMeasurementsInput
  carrier: String
  signatureRequired: Boolean = false
  trackings: [TrackingInput]
  id: String
  code: String
  status: String
  items: [PackageItemInput]
  fulfillmentDate: DateTime
  fulfillmentLocationCode: String
  auditInfo: CrAuditInfoInput
  availableActions: [String!]
  changeMessages: [ChangeMessageInput]
}

type PackageSettings {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PackageSettings
  unitType: String
}

input PasswordInfoInput {
  oldPassword: String
  newPassword: String
  externalPassword: String
}

type Payment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Payment
  id: String
  groupId: PaymentActionTarget
  paymentServiceTransactionId: String
  availableActions: [String!]
  orderId: String
  paymentType: String
  paymentWorkflow: String
  externalTransactionId: String
  billingInfo: BillingInfo
  data: Object
  status: String
  subPayments: [SubPayment]
  interactions: [PaymentInteraction]
  isRecurring: Boolean
  amountCollected: Float!
  amountCredited: Float!
  amountRequested: Float!
  changeMessages: [ChangeMessage]
  auditInfo: CrAuditInfo
  gatewayGiftCard: GatewayGiftCard
}

input PaymentActionInput {
  actionName: String
  currencyCode: String
  checkNumber: String
  returnUrl: String
  cancelUrl: String
  amount: Float
  interactionDate: DateTime
  newBillingInfo: BillingInfoInput
  referenceSourcePaymentId: String
  manualGatewayInteraction: PaymentGatewayInteractionInput
  externalTransactionId: String
  data: Object
}

type PaymentActionTarget {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PaymentActionTarget
  targetType: String
  targetId: String
  targetNumber: Int
}

input PaymentActionTargetInput {
  targetType: String
  targetId: String
  targetNumber: Int
}

type PaymentCard {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PaymentCard
  paymentServiceCardId: String
  isUsedRecurring: Boolean
  nameOnCard: String
  isCardInfoSaved: Boolean
  isTokenized: Boolean
  paymentOrCardType: String
  cardNumberPartOrMask: String
  expireMonth: Int!
  expireYear: Int!
  bin: String
}

input PaymentCardInput {
  paymentServiceCardId: String
  isUsedRecurring: Boolean = false
  nameOnCard: String
  isCardInfoSaved: Boolean = false
  isTokenized: Boolean = false
  paymentOrCardType: String
  cardNumberPartOrMask: String
  expireMonth: Int!
  expireYear: Int!
  bin: String
}

type PaymentCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PaymentCollection
  totalCount: Int!
  items: [Payment]
}

input PaymentGatewayInteractionInput {
  gatewayInteractionId: Int
  gatewayTransactionId: String
  gatewayAuthCode: String
  gatewayAVSCodes: String
  gatewayCVV2Codes: String
  gatewayResponseCode: String
  gatewayResponseText: String
}

type PaymentGatewayResponseData {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PaymentGatewayResponseData
  key: String
  value: String
}

input PaymentGatewayResponseDataInput {
  key: String
  value: String
}

input PaymentInput {
  id: String
  groupId: PaymentActionTargetInput
  paymentServiceTransactionId: String
  availableActions: [String!]
  orderId: String
  paymentType: String
  paymentWorkflow: String
  externalTransactionId: String
  billingInfo: BillingInfoInput
  data: Object
  status: String
  subPayments: [SubPaymentInput]
  interactions: [PaymentInteractionInput]
  isRecurring: Boolean = false
  amountCollected: Float!
  amountCredited: Float!
  amountRequested: Float!
  changeMessages: [ChangeMessageInput]
  auditInfo: CrAuditInfoInput
  gatewayGiftCard: GatewayGiftCardInput
}

type PaymentInteraction {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PaymentInteraction
  id: String
  gatewayInteractionId: Int
  paymentId: String
  orderId: String
  target: PaymentActionTarget
  currencyCode: String
  interactionType: String
  checkNumber: String
  status: String
  paymentEntryStatus: String
  isRecurring: Boolean
  isManual: Boolean
  gatewayTransactionId: String
  gatewayAuthCode: String
  gatewayAVSCodes: String
  gatewayCVV2Codes: String
  gatewayResponseCode: String
  gatewayResponseText: String
  gatewayResponseData: [PaymentGatewayResponseData]
  paymentTransactionInteractionIdReference: Int
  amount: Float
  note: String
  interactionDate: DateTime
  auditInfo: CrAuditInfo
  returnId: String
  refundId: String
  capturableShipmentsSummary: [CapturableShipmentSummary]
}

input PaymentInteractionInput {
  id: String
  gatewayInteractionId: Int
  paymentId: String
  orderId: String
  target: PaymentActionTargetInput
  currencyCode: String
  interactionType: String
  checkNumber: String
  status: String
  paymentEntryStatus: String
  isRecurring: Boolean = false
  isManual: Boolean = false
  gatewayTransactionId: String
  gatewayAuthCode: String
  gatewayAVSCodes: String
  gatewayCVV2Codes: String
  gatewayResponseCode: String
  gatewayResponseText: String
  gatewayResponseData: [PaymentGatewayResponseDataInput]
  paymentTransactionInteractionIdReference: Int
  amount: Float
  note: String
  interactionDate: DateTime
  auditInfo: CrAuditInfoInput
  returnId: String
  refundId: String
  capturableShipmentsSummary: [CapturableShipmentSummaryInput]
}

type PaymentToken {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PaymentToken
  paymentServiceTokenId: String
  type: String
}

input PaymentTokenInput {
  paymentServiceTokenId: String
  type: String
}

type Pickup {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Pickup
  id: String
  code: String
  status: String
  items: [PickupItem]
  fulfillmentDate: DateTime
  fulfillmentLocationCode: String
  auditInfo: CrAuditInfo
  availableActions: [String!]
  changeMessages: [ChangeMessage]
}

input PickupInput {
  id: String
  code: String
  status: String
  items: [PickupItemInput]
  fulfillmentDate: DateTime
  fulfillmentLocationCode: String
  auditInfo: CrAuditInfoInput
  availableActions: [String!]
  changeMessages: [ChangeMessageInput]
}

type PickupItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PickupItem
  productCode: String
  quantity: Int!
  fulfillmentItemType: String
  lineId: Int
  optionAttributeFQN: String
}

input PickupItemInput {
  productCode: String
  quantity: Int!
  fulfillmentItemType: String
  lineId: Int
  optionAttributeFQN: String
}

type PrAppliedDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrAppliedDiscount
  couponCode: String
  discount: PrDiscount
  discounts: [PrDiscount]
  impact: Float!
}

type PrAttributeValidation {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrAttributeValidation
  regularExpression: String
  minStringLength: Int
  maxStringLength: Int
  minNumericValue: Float
  maxNumericValue: Float
  minDateValue: DateTime
  maxDateValue: DateTime
}

type PrBundledProduct {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrBundledProduct
  content: ProductContent
  productCode: String
  goodsType: String
  quantity: Int!
  measurements: PrPackageMeasurements
  isPackagedStandAlone: Boolean
  inventoryInfo: ProductInventoryInfo
  optionAttributeFQN: String
  optionValue: Object
  creditValue: Float
  productType: String
}

type PrCategory {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrCategory
  categoryId: Int!
  parentCategory: PrCategory
  content: CategoryContent
  childrenCategories: [PrCategory]
  sequence: Int
  isDisplayed: Boolean
  categoryCode: String
  count: Int
  updateDate: DateTime!
  shouldSlice: Boolean
}

type PrDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrDiscount
  discountId: Int!
  expirationDate: DateTime
  name: String
  friendlyDescription: String
  impact: Float!
}

type PrMeasurement {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrMeasurement
  unit: String
  value: Float
}

type PrPackageMeasurements {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PrPackageMeasurements
  packageHeight: PrMeasurement
  packageWidth: PrMeasurement
  packageLength: PrMeasurement
  packageWeight: PrMeasurement
}

type PriceList {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PriceList
  priceListCode: String
  priceListId: Int!
  enabled: Boolean
  name: String
  resolvable: Boolean
  isIndexed: Boolean
  filteredInStoreFront: Boolean
  isSiteDefault: Boolean
  description: String
  ancestors: [PriceListNode]
  descendants: [PriceListNode]
  validSites: [Int!]
}

type PriceListNode {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PriceListNode
  priceListCode: String
  priceListId: Int!
  parentPriceListId: Int
  priceListLevel: Int!
}

type PricingAppliedDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingAppliedDiscount
  impact: Float!
  discount: PricingDiscount
  couponCode: String
  couponSetId: Int
}

type PricingAppliedLineItemProductDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingAppliedLineItemProductDiscount
  appliesToSalePrice: Boolean
  quantity: Int!
  impactPerUnit: Float!
  isForced: Boolean
  normalizedImpact: Float!
  impact: Float!
  discount: PricingDiscount
  couponCode: String
  couponSetId: Int
}

type PricingAppliedLineItemShippingDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingAppliedLineItemShippingDiscount
  shippingMethodCode: String
  quantity: Int!
  impactPerUnit: Float!
  isForced: Boolean
  normalizedImpact: Float!
  impact: Float!
  discount: PricingDiscount
  couponCode: String
  couponSetId: Int
}

type PricingAppliedOrderShippingDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingAppliedOrderShippingDiscount
  shippingMethodCode: String
  impact: Float!
  discount: PricingDiscount
  couponCode: String
  couponSetId: Int
}

type PricingDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingDiscount
  discountId: Int!
  name: String
  friendlyDescription: String
  amount: Float!
  scope: String
  maxRedemptions: Int
  maximumUsesPerUser: Int
  requiresAuthenticatedUser: Boolean
  doesNotApplyToProductsWithSalePrice: Boolean
  maximumRedemptionsPerOrder: Int
  maximumDiscountValuePerOrder: Float
  maxDiscountValuePerRedemption: Float
  doesNotApplyToMultiShipToOrders: Boolean
  includedPriceLists: [String!]
  redemptions: Int!
  type: String
  amountType: String
  target: PricingDiscountTarget
  condition: PricingDiscountCondition
  expirationDate: DateTime
  stackingLayer: Int!
}

type PricingDiscountCondition {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingDiscountCondition
  requiresCoupon: Boolean
  couponCode: String
  minimumQuantityProductsRequiredInCategories: Int
  includedCategoryIds: [Int!]
  excludedCategoryIds: [Int!]
  minimumQuantityRequiredProducts: Int
  includedProductCodes: [String!]
  excludedProductCodes: [String!]
  paymentWorkflows: [String!]
  customerSegmentIds: [Int!]
  minimumOrderAmount: Float
  maximumOrderAmount: Float
  minimumLifetimeValueAmount: Float
  startDate: DateTime
  expirationDate: DateTime
  minimumCategorySubtotalBeforeDiscounts: Float
}

type PricingDiscountTarget {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingDiscountTarget
  type: String
  includedCategoryIds: [Int!]
  excludedCategoryIds: [Int!]
  includedCategoriesOperator: String
  excludedCategoriesOperator: String
  includedProductCodes: [String!]
  excludedProductCodes: [String!]
  includeAllProducts: Boolean
  shippingMethods: [String!]
  shippingZones: [String!]
}

type PricingProductAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingProductAttribute
  inputType: String
  valueType: String
  dataType: String
  name: String
  description: String
}

type PricingProductProperty {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingProductProperty
  attributeFQN: String
  values: [PricingProductPropertyValue]
  attributeDetail: PricingProductAttribute
  isHidden: Boolean
  isMultiValue: Boolean
}

type PricingProductPropertyValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingProductPropertyValue
  value: Object
  stringValue: String
}

type PricingTaxAttribute {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingTaxAttribute
  fullyQualifiedName: String
  attributeDefinitionId: Int
  values: [Object!]
}

type PricingTaxContext {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingTaxContext
  taxContextId: String
  customerId: String
  taxExemptId: String
  originAddress: CrAddress
  destinationAddress: CrAddress
}

type PricingTaxableLineItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingTaxableLineItem
  id: String
  productCode: String
  variantProductCode: String
  productName: String
  productProperties: [PricingProductProperty]
  quantity: Int!
  lineItemPrice: Float!
  discountTotal: Float
  discountedTotal: Float
  shippingAmount: Float!
  handlingAmount: Float
  feeTotal: Float
  isTaxable: Boolean
  reason: String
  data: Object
  productDiscount: PricingAppliedLineItemProductDiscount
  shippingDiscount: PricingAppliedLineItemShippingDiscount
  productDiscounts: [PricingAppliedLineItemProductDiscount]
  shippingDiscounts: [PricingAppliedLineItemShippingDiscount]
  originAddress: CrAddress
  destinationAddress: CrAddress
}

type PricingTaxableOrder {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PricingTaxableOrder
  orderDate: DateTime!
  taxContext: PricingTaxContext
  lineItems: [PricingTaxableLineItem]
  shippingAmount: Float!
  currencyCode: String
  handlingFee: Float!
  originalDocumentCode: String
  orderId: String
  orderNumber: Int
  originalOrderDate: DateTime!
  data: Object
  attributes: [PricingTaxAttribute]
  shippingDiscounts: [PricingAppliedOrderShippingDiscount]
  shippingDiscount: PricingAppliedOrderShippingDiscount
  orderDiscounts: [PricingAppliedDiscount]
  orderDiscount: PricingAppliedDiscount
  handlingDiscounts: [PricingAppliedDiscount]
  handlingDiscount: PricingAppliedDiscount
  shippingMethodCode: String
  shippingMethodName: String
  taxRequestType: String
}

type Product {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Product
  productCode: String
  purchaseLocation: String
  productSequence: Int
  productUsage: String
  fulfillmentTypesSupported: [String!]
  goodsType: String
  bundledProducts: [PrBundledProduct]
  content: ProductContent
  purchasableState: ProductPurchasableState
  isActive: Boolean
  publishState: String
  price: ProductPrice
  priceRange: ProductPriceRange
  volumePriceBands: [ProductVolumePrice]
  volumePriceRange: ProductPriceRange
  availableShippingDiscounts: [PrDiscount]
  productType: String
  productTypeId: Int
  isTaxable: Boolean
  isRecurring: Boolean
  pricingBehavior: ProductPricingBehaviorInfo
  inventoryInfo: ProductInventoryInfo
  createDate: DateTime!
  updateDate: DateTime!
  dateFirstAvailableInCatalog: DateTime
  catalogStartDate: DateTime
  catalogEndDate: DateTime
  daysAvailableInCatalog: Int
  upc: String
  upCs: [String!]
  mfgPartNumber: String
  mfgPartNumbers: [String!]
  variationProductCode: String
  categories: [PrCategory]
  measurements: PrPackageMeasurements
  isPackagedStandAlone: Boolean
  properties(
    filterAttribute: String
    filterOperator: String
    filterValue: Object
  ): [ProductProperty]
  options: [ProductOption]
  variations: [VariationSummary]
  validPriceLists: [String!]
  locationsInStock: [String!]
  slicingAttributeFQN: String
  productImageGroups: [ProductImageGroup]
  sliceValue: String
  productCollections: [ProductCollectionInfo]
  productCollectionMembers: [ProductCollectionMember]
  collectionMembersProductContent: [ProductContent]
  score: Float!
  personalizationScore: Float!
}

type ProductCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductCollection
  nextCursorMark: String
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Product]
}

type ProductCollectionInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductCollectionInfo
  productCode: String
  isPrimary: Boolean
}

type ProductCollectionMember {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductCollectionMember
  memberKey: ProductCollectionMemberKey
}

type ProductCollectionMemberKey {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductCollectionMemberKey
  value: String
}

type ProductContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductContent
  productName: String
  productFullDescription: String
  productShortDescription: String
  metaTagTitle: String
  metaTagDescription: String
  metaTagKeywords: String
  seoFriendlyUrl: String
  productImages: [ProductImage]
}

type ProductCost {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductCost
  productCode: String
  cost: Float!
}

type ProductCostCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductCostCollection
  totalCount: Int!
  items: [ProductCost]
}

input ProductCostQueryInput {
  productCodes: [String!]
}

type ProductForIndexing {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductForIndexing
  slices: [Product]
  productCode: String
  purchaseLocation: String
  productSequence: Int
  productUsage: String
  fulfillmentTypesSupported: [String!]
  goodsType: String
  bundledProducts: [PrBundledProduct]
  content: ProductContent
  purchasableState: ProductPurchasableState
  isActive: Boolean
  publishState: String
  price: ProductPrice
  priceRange: ProductPriceRange
  volumePriceBands: [ProductVolumePrice]
  volumePriceRange: ProductPriceRange
  availableShippingDiscounts: [PrDiscount]
  productType: String
  productTypeId: Int
  isTaxable: Boolean
  isRecurring: Boolean
  pricingBehavior: ProductPricingBehaviorInfo
  inventoryInfo: ProductInventoryInfo
  createDate: DateTime!
  updateDate: DateTime!
  dateFirstAvailableInCatalog: DateTime
  catalogStartDate: DateTime
  catalogEndDate: DateTime
  daysAvailableInCatalog: Int
  upc: String
  upCs: [String!]
  mfgPartNumber: String
  mfgPartNumbers: [String!]
  variationProductCode: String
  categories: [PrCategory]
  measurements: PrPackageMeasurements
  isPackagedStandAlone: Boolean
  properties: [ProductProperty]
  options: [ProductOption]
  variations: [VariationSummary]
  validPriceLists: [String!]
  locationsInStock: [String!]
  slicingAttributeFQN: String
  productImageGroups: [ProductImageGroup]
  sliceValue: String
  productCollections: [ProductCollectionInfo]
  productCollectionMembers: [ProductCollectionMember]
  collectionMembersProductContent: [ProductContent]
  score: Float!
  personalizationScore: Float!
}

type ProductImage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductImage
  imageLabel: String
  altText: String
  imageUrl: String
  cmsId: String
  videoUrl: String
  mediaType: String
  sequence: Int
  productImageGroupId: String
}

type ProductImageGroup {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductImageGroup
  productImageGroupId: String!
  productImageGroupTags: [ProductImageGroupTag]
}

type ProductImageGroupTag {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductImageGroupTag
  attributeFqn: String
  value: String
}

type ProductInventoryInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductInventoryInfo
  manageStock: Boolean
  outOfStockBehavior: String
  onlineStockAvailable: Int
  onlineSoftStockAvailable: Int
  onlineLocationCode: String
  availableDate: DateTime
}

type ProductOption {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductOption
  attributeFQN: String
  isRequired: Boolean
  isMultiValue: Boolean
  values: [ProductOptionValue]
  attributeDetail: AttributeDetail
  isProductImageGroupSelector: Boolean
}

input ProductOptionSelectionInput {
  attributeFQN: String
  value: Object
  attributeValueId: Int
  shopperEnteredValue: Object
}

input ProductOptionSelectionsInput {
  variationProductCode: String
  options: [ProductOptionSelectionInput]
}

type ProductOptionValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductOptionValue
  value: Object
  attributeValueId: Int!
  stringValue: String
  isEnabled: Boolean
  isSelected: Boolean
  isDefault: Boolean
  deltaWeight: Float
  deltaPrice: Float
  shopperEnteredValue: Object
  bundledProduct: PrBundledProduct
  displayInfo: AttributeVocabularyValueDisplayInfo
}

type ProductPrice {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductPrice
  msrp: Float
  price: Float
  priceType: String
  salePrice: Float
  salePriceType: String
  catalogSalePrice: Float
  catalogListPrice: Float
  discount: PrAppliedDiscount
  creditValue: Float
  effectivePricelistCode: String
  priceListEntryCode: String
  priceListEntryMode: String
}

type ProductPriceRange {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductPriceRange
  lower: ProductPrice
  upper: ProductPrice
}

type ProductPricingBehaviorInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductPricingBehaviorInfo
  discountsRestricted: Boolean
  discountsRestrictedStartDate: DateTime
  discountsRestrictedEndDate: DateTime
}

type ProductProperty {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductProperty
  attributeFQN: String
  isHidden: Boolean
  isMultiValue: Boolean
  attributeDetail: AttributeDetail
  values: [ProductPropertyValue]
  propertyType: String
}

type ProductPropertyValue {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductPropertyValue
  value: Object
  stringValue: String
  displayInfo: AttributeVocabularyValueDisplayInfo
}

type ProductPurchasableState {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductPurchasableState
  isPurchasable: Boolean
  messages: [ValidationMessage]
}

type ProductSearchRandomAccessCursor {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductSearchRandomAccessCursor
  cursorMarks: [String!]
}

type ProductSearchResult {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductSearchResult
  facets: [Facet]
  solrDebugInfo: SolrDebugInfo
  searchRedirect: String
  searchEngine: String
  nextCursorMark: String
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Product]
}

type ProductStock {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductStock
  manageStock: Boolean
  isOnBackOrder: Boolean
  availableDate: DateTime
  stockAvailable: Int
  aggregateInventory: Int
}

input ProductStockInput {
  manageStock: Boolean = false
  isOnBackOrder: Boolean = false
  availableDate: DateTime
  stockAvailable: Int
  aggregateInventory: Int
}

type ProductValidationSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductValidationSummary
  productCode: String
  purchaseLocation: String
  productUsage: String
  fulfillmentTypesSupported: [String!]
  goodsType: String
  bundledProducts: [BundledProductSummary]
  upc: String
  mfgPartNumber: String
  variationProductCode: String
  purchasableState: ProductPurchasableState
  price: ProductPrice
  measurements: PrPackageMeasurements
  isPackagedStandAlone: Boolean
  image: ProductImage
  productShortDescription: String
  productName: String
  categories: [PrCategory]
  properties: [ProductProperty]
  pricingBehavior: ProductPricingBehaviorInfo
  inventoryInfo: ProductInventoryInfo
  isTaxable: Boolean
  productType: String
}

type ProductVolumePrice {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ProductVolumePrice
  isCurrent: Boolean
  minQty: Int!
  maxQty: Int
  priceRange: ProductPriceRange
  price: ProductPrice
}

type Property {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Property
  name: String
  isRequired: Boolean
  isMultiValued: Boolean
  propertyType: PropertyType
}

input PropertyInput {
  name: String
  isRequired: Boolean = false
  isMultiValued: Boolean = false
  propertyType: PropertyTypeInput
}

type PropertyType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PropertyType
  name: String
  namespace: String
  propertyTypeFQN: String
  adminName: String
  installationPackage: String
  version: String
  dataType: String
  isQueryable: Boolean
  isSortable: Boolean
  isAggregatable: Boolean
}

type PropertyTypeCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PropertyTypeCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [PropertyType]
}

input PropertyTypeInput {
  name: String
  namespace: String
  propertyTypeFQN: String
  adminName: String
  installationPackage: String
  version: String
  dataType: String
  isQueryable: Boolean = false
  isSortable: Boolean = false
  isAggregatable: Boolean = false
}

type PurchaseOrderCustomField {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PurchaseOrderCustomField
  code: String
  label: String
  value: String
}

input PurchaseOrderCustomFieldInput {
  code: String
  label: String
  value: String
}

type PurchaseOrderPayment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PurchaseOrderPayment
  purchaseOrderNumber: String
  paymentTerm: PurchaseOrderPaymentTerm
  customFields: [PurchaseOrderCustomField]
}

input PurchaseOrderPaymentInput {
  purchaseOrderNumber: String
  paymentTerm: PurchaseOrderPaymentTermInput
  customFields: [PurchaseOrderCustomFieldInput]
}

type PurchaseOrderPaymentTerm {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PurchaseOrderPaymentTerm
  code: String
  description: String
}

input PurchaseOrderPaymentTermInput {
  code: String
  description: String
}

type PurchaseOrderTransaction {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PurchaseOrderTransaction
  customerPurchaseOrderAccountId: Int!
  externalId: String
  siteId: Int!
  tenantId: Int!
  transactionDate: DateTime!
  orderId: String
  purchaseOrderNumber: String
  transactionAmount: Float!
  creditLimit: Float!
  additionalTransactionDetail: String
  availableBalance: Float!
  transactionTypeId: Int!
  transactionDescription: String
  author: String
  auditInfo: CuAuditInfo
}

type PurchaseOrderTransactionCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: PurchaseOrderTransactionCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [PurchaseOrderTransaction]
}

input PurchaseOrderTransactionInput {
  customerPurchaseOrderAccountId: Int!
  externalId: String
  siteId: Int!
  tenantId: Int!
  transactionDate: DateTime!
  orderId: String
  purchaseOrderNumber: String
  transactionAmount: Float!
  creditLimit: Float!
  additionalTransactionDetail: String
  availableBalance: Float!
  transactionTypeId: Int!
  transactionDescription: String
  author: String
  auditInfo: CuAuditInfoInput
}

type Query {
  customerAccountAttributeDefinitions(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CuAttributeCollection
  customerAccountAttributeVocabularyValues(
    attributeFQN: String!
  ): [CuAttributeVocabularyValue]
  customerAccountAttributeDefinition(attributeFQN: String!): CuAttribute
  b2bAccountAttributes(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CustomerAttributeCollection
  b2bAccountAttributeVocabularyValues(
    accountId: Int!
    attributeFQN: String!
  ): CustomerAttribute
  b2bAccounts(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    fields: String
    q: String
    qLimit: Int
  ): B2BAccountCollection
  b2bAccount(accountId: Int!): B2BAccount
  b2bAccountUsers(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    q: String
    qLimit: Int
  ): B2BUserCollection
  b2bAccountUserRoles(accountId: Int!, userId: String!): UserRoleCollection
  customerCreditAuditTrail(
    code: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CreditAuditEntryCollection
  customerCredits(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CreditCollection
  customerCredit(code: String!): Credit
  customerCreditTransactions(
    code: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CreditTransactionCollection
  customerAccountAttributes(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    userId: String
  ): CustomerAttributeCollection
  customerAccountAttribute(
    accountId: Int!
    attributeFQN: String!
    userId: String
  ): CustomerAttribute
  customerAccountCards(accountId: Int!): CardCollection
  customerAccountCard(accountId: Int!, cardId: String!): Card
  customerAccountContacts(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    userId: String
  ): CustomerContactCollection
  customerAccountContact(
    accountId: Int!
    contactId: Int!
    userId: String
  ): CustomerContact
  customerAccounts(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    fields: String
    q: String
    qLimit: Int
    isAnonymous: Boolean
  ): CustomerAccountCollection
  customerAccount(accountId: Int!, userId: String): CustomerAccount
  getCurrentAccount: CustomerAccount
  customerAccountTransactions(accountId: Int!): [Transaction]
  customerAccountNotes(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CustomerNoteCollection
  customerAccountNote(accountId: Int!, noteId: Int!): CustomerNote
  customerAccountSegments(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CustomerSegmentCollection
  customerAccountAuditLog(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CustomerAuditEntryCollection
  customerPurchaseOrderAccount(accountId: Int!): CustomerPurchaseOrderAccount
  customerPurchaseOrderAccountTransaction(
    accountId: Int!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): PurchaseOrderTransactionCollection
  customerAccountLoginState(accountId: Int!, userId: String): LoginState
  customerSegments(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): CustomerSegmentCollection
  customerSegment(id: Int!): CustomerSegment
  customerSets(
    startIndex: Int
    pageSize: Int
    sortBy: String
  ): CustomerSetCollection
  customerSet(code: String!): CustomerSet
  inStockNotifications(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): InStockNotificationSubscriptionCollection
  inStockNotification(id: Int!): InStockNotificationSubscription
  authTicket(accountId: Int): CustomerAuthTicket
  exchangeRates: [CurrencyExchangeRate]
  resolvedPriceList(customerAccountId: Int): ResolvedPriceList
  categoriesTree: CategoryCollection
  categories(
    filter: String
    startIndex: Int
    pageSize: Int
    sortBy: String
  ): CategoryPagedCollection
  category(categoryId: Int!, allowInactive: Boolean): PrCategory
  products(
    filter: String
    startIndex: Int
    pageSize: Int
    sortBy: String
    responseOptions: String
    cursorMark: String
    defaultSort: String
    mid: String
    includeAllImages: Boolean
  ): ProductCollection
  product(
    productCode: String!
    variationProductCode: String
    allowInactive: Boolean
    skipInventoryCheck: Boolean
    supressOutOfStock404: Boolean
    quantity: Int
    acceptVariantProductCode: Boolean
    purchaseLocation: String
    variationProductCodeFilter: String
    sliceValue: String
    includeAllImages: Boolean
  ): Product
  productVersion(
    productCode: String!
    productVersion: Int
    lastModifiedDate: DateTime
  ): ProductForIndexing
  productLocationInventory(
    productCode: String!
    locationCodes: String
  ): LocationInventoryCollection
  suggestionSearch(
    query: String
    groups: String
    pageSize: Int
    mid: String
    filter: String
  ): SearchSuggestionResult
  productSearchRandomAccessCursor(
    query: String
    filter: String
    pageSize: Int
  ): ProductSearchRandomAccessCursor
  productSearch(
    query: String
    filter: String
    facetTemplate: String
    facetTemplateSubset: String
    facet: String
    facetFieldRangeQuery: String
    facetHierPrefix: String
    facetHierValue: String
    facetHierDepth: String
    facetStartIndex: String
    facetPageSize: String
    facetSettings: String
    facetValueFilter: String
    sortBy: String
    pageSize: Int
    startIndex: Int
    searchSettings: String
    enableSearchTuningRules: Boolean
    searchTuningRuleContext: String
    searchTuningRuleCode: String
    facetTemplateExclude: String
    facetPrefix: String
    responseOptions: String
    cursorMark: String
    facetValueSort: String
    defaultSort: String
    sortDefinitionName: String
    defaultSortDefinitionName: String
    shouldSlice: Boolean
    mid: String
    omitNamespace: Boolean
  ): ProductSearchResult
  priceList(priceListCode: String): PriceList
  cartsSummary: CartSummary
  userCartSummary(userId: String!): CartSummary
  cartSummary(cartId: String!): CartSummary
  userCart(userId: String!): Cart
  currentCart: Cart
  cart(cartId: String!): Cart
  currentCartExtendedProperties: [ExtendedProperty]
  currentCartItems: CartItemCollection
  cartItems(cartId: String!): CartItemCollection
  currentCartItem(cartItemId: String!): CartItem
  cartItem(cartId: String!, cartItemId: String!): CartItem
  currentCartMessages: CartChangeMessageCollection
  channels(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): ChannelCollection
  channel(code: String!): Channel
  channelGroups(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): ChannelGroupCollection
  channelGroup(code: String!): ChannelGroup
  checkoutAttributes(checkoutId: String!): [OrderAttribute]
  checkout(checkoutId: String!): Checkout
  checkouts(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    q: String
    qLimit: Int
  ): CheckoutCollection
  checkoutShippingMethods(checkoutId: String!): [CheckoutGroupRates]
  checkoutActions(checkoutId: String!): [String]
  checkoutDestination(checkoutId: String!, destinationId: String!): Destination
  checkoutDestinations(checkoutId: String!): [Destination]
  orderPackageActions(orderId: String!, packageId: String!): [String]
  orderPaymentActions(orderId: String!, paymentId: String!): [String]
  orderPayment(orderId: String!, paymentId: String!): Payment
  orderPayments(orderId: String!): PaymentCollection
  orderPickup(orderId: String!, pickupId: String!): Pickup
  orderPickupActions(orderId: String!, pickupId: String!): [String]
  orderReturnableItems(orderId: String!): OrderReturnableItemCollection
  orderShipment(orderId: String!, shipmentId: String!): Shipment
  orderShipmentMethods(orderId: String!, draft: Boolean): [ShippingRate]
  orderValidationResults(orderId: String!): [OrderValidationResult]
  orderAttributes(orderId: String!): [OrderAttribute]
  orderBillingInfo(orderId: String!, draft: Boolean): BillingInfo
  orderCancelReasons(category: String): CancelReasonCollection
  orders(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    q: String
    qLimit: Int
    includeBin: Boolean
    mode: String
  ): OrderCollection
  order(
    orderId: String!
    draft: Boolean
    includeBin: Boolean
    mode: String
  ): Order
  orderActions(orderId: String!): [String]
  orderTaxableOrders(orderId: String!): [PricingTaxableOrder]
  orderDigitalPackage(
    orderId: String!
    digitalPackageId: String!
  ): DigitalPackage
  orderDigitalPackageActions(
    orderId: String!
    digitalPackageId: String!
  ): [String]
  orderExtendedProperties(orderId: String!, draft: Boolean): [ExtendedProperty]
  orderFulfillmentInfo(orderId: String!, draft: Boolean): FulfillmentInfo
  orderItems(orderId: String!, draft: Boolean): OrderItemCollection
  orderNotes(orderId: String!): [OrderNote]
  orderNote(orderId: String!, noteId: String!): OrderNote
  orderPackage(orderId: String!, packageId: String!): PackageObj
  orderPackageLabel(orderId: String!, packageId: String!): Boolean
  quote(quoteId: String!, draft: Boolean): Quote
  quotes(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    q: String
    qLimit: Int
  ): QuoteCollection
  customerAccountQuote(
    customerAccountId: Int!
    quoteName: String!
    draft: Boolean
  ): Quote
  quoteItems(
    quoteId: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): [CrOrderItem]
  customerAccountQuoteItems(
    customerAccountId: Int!
    quoteName: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): [CrOrderItem]
  quoteItem(quoteId: String!, quoteItemId: String!, draft: Boolean): CrOrderItem
  returns(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    q: String
  ): ReturnCollection
  returnReasons: ReasonCollection
  returnReason(returnId: String!): ReturnObj
  returnActions(returnId: String!): [String]
  returnPayments(returnId: String!): PaymentCollection
  returnPayment(returnId: String!, paymentId: String!): Payment
  returnPaymentActions(returnId: String!, paymentId: String!): [String]
  returnShippingLabel(returnId: String!): CarrierServiceGenerateLabelResponse
  returnItems(returnId: String!): ReturnItemCollection
  returnItem(returnId: String!, returnItemId: String!): ReturnItem
  returnNotes(returnId: String!): [OrderNote]
  returnNote(returnId: String!, noteId: String!): OrderNote
  returnPackage(returnId: String!, packageId: String!): PackageObj
  returnPackageLabel(
    returnId: String!
    packageId: String!
    returnAsBase64Png: Boolean
  ): Boolean
  returnShipment(returnId: String!, shipmentId: String!): Shipment
  wishlists(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    q: String
    qLimit: Int
  ): WishlistCollection
  wishlist(wishlistId: String!): Wishlist
  customerWishlist(customerAccountId: Int!, wishlistName: String!): Wishlist
  wishlistItems(
    wishlistId: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): WishlistItemCollection
  customerWishlistItems(
    customerAccountId: Int!
    wishlistName: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): WishlistItemCollection
  wishlistItem(wishlistId: String!, wishlistItemId: String!): WishlistItem
  orderItem(
    orderId: String
    lineId: Int
    orderItemId: String
    draft: Boolean
  ): CrOrderItem
  documentListDocumentContent(
    documentListName: String!
    documentId: String!
  ): Boolean
  documentListDocumentTransform(
    documentListName: String!
    documentId: String!
    width: Int
    height: Int
    max: Int
    maxWidth: Int
    maxHeight: Int
    crop: String
    quality: Int
  ): Boolean
  documentListTreeDocumentContent(
    documentListName: String!
    documentName: String!
  ): Boolean
  documentListTreeDocumentTransform(
    documentListName: String!
    documentName: String!
    width: Int
    height: Int
    max: Int
    maxWidth: Int
    maxHeight: Int
    crop: String
    quality: Int
  ): Boolean
  documentListDocuments(
    documentListName: String!
    filter: String
    sortBy: String
    pageSize: Int
    startIndex: Int
    includeInactive: Boolean
    path: String
    includeSubPaths: Boolean
    queryScope: String
  ): DocumentCollection
  documentListDocument(
    documentListName: String!
    documentId: String!
    includeInactive: Boolean
  ): Document
  documentListTreeDocument(
    documentListName: String!
    documentName: String!
    includeInactive: Boolean
  ): Document
  documentLists(pageSize: Int, startIndex: Int): DocumentListCollection
  documentList(documentListName: String!): DocumentList
  documentListViewDocuments(
    documentListName: String!
    viewName: String!
    filter: String
    sortBy: String
    pageSize: Int
    startIndex: Int
    includeInactive: Boolean
  ): DocumentCollection
  documentListTypes(pageSize: Int, startIndex: Int): DocumentListTypeCollection
  documentListType(documentListTypeFQN: String!): DocumentListType
  documentDrafts(
    pageSize: Int
    startIndex: Int
    documentLists: String
  ): DocumentDraftSummaryPagedCollection
  documentTypes(pageSize: Int, startIndex: Int): DocumentTypeCollection
  documentType(documentTypeName: String!): DocumentType
  propertyTypes(pageSize: Int, startIndex: Int): PropertyTypeCollection
  propertyType(propertyTypeName: String!): PropertyType
  adminLocations(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): LocationCollection
  adminLocation(locationCode: String!): Location
  adminLocationAttributes(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): LoAttributeCollection
  adminLocationAttributeVocabularyValues(
    attributeFQN: String!
  ): [LoAttributeVocabularyValue]
  adminLocationAttribute(attributeFQN: String!): LoAttribute
  adminLocationGroups(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): LocationGroupCollection
  dslLocation(includeAttributeDefinition: Boolean): Location
  spLocations(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    includeAttributeDefinition: Boolean
  ): LocationCollection
  spLocation(
    locationCode: String!
    includeAttributeDefinition: Boolean
  ): Location
  usageTypeLocations(
    locationUsageType: String!
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
    includeAttributeDefinition: Boolean
  ): LocationCollection
  location(locationCode: String!, includeAttributeDefinition: Boolean): Location
  locationUsages: LocationUsageCollection
  locationUsage(code: String!): LocationUsage
  adminLocationTypes: [LocationType]
  adminLocationType(locationTypeCode: String!): LocationType
  locationGroupConfig(
    locationGroupId: Int
    locationGroupCode: String
    locationCode: String
  ): LocationGroupConfiguration
  locationGroup(groupId: Int, locationGroupCode: String): LocationGroup
  entityListEntity(entityListFullName: String!, id: String!): Boolean
  entityListEntities(
    entityListFullName: String!
    pageSize: Int
    startIndex: Int
    filter: String
    sortBy: String
  ): EntityCollection
  entityListEntityContainer(
    entityListFullName: String!
    id: String!
  ): EntityContainer
  entityListEntityContainers(
    entityListFullName: String!
    pageSize: Int
    startIndex: Int
    filter: String
    sortBy: String
  ): EntityContainerCollection
  entityList(entityListFullName: String!): EntityList
  entityLists(
    pageSize: Int
    startIndex: Int
    filter: String
    sortBy: String
  ): EntityListCollection
  entityListViews(entityListFullName: String!): ListViewCollection
  entityListView(entityListFullName: String!, viewName: String!): ListView
  entityListViewEntityContainers(
    entityListFullName: String!
    viewName: String!
    pageSize: Int
    startIndex: Int
    filter: String
  ): EntityContainerCollection
  entityListViewEntities(
    entityListFullName: String!
    viewName: String!
    pageSize: Int
    startIndex: Int
    filter: String
  ): EntityCollection
  entityListViewEntityContainer(
    entityListFullName: String!
    viewName: String!
    entityId: String!
  ): EntityContainer
  entityListViewEntity(
    entityListFullName: String!
    viewName: String!
    entityId: String!
  ): Boolean
  carrierLocaleServiceTypes(
    carrierId: String!
    localeCode: String!
  ): [ServiceType]
  localeServiceTypes(localeCode: String!): [ServiceType]
  targetRules(
    startIndex: Int
    pageSize: Int
    sortBy: String
    filter: String
  ): TargetRuleCollection
  targetRule(code: String!): TargetRule
  orderRoutingRoutingSuggestionLog(
    externalResponseID: String
    orderID: Int
    responseID: Int
    suggestionID: Int
  ): [JsonNode]
}

type Quote {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Quote
  id: String
  name: String
  siteId: Int!
  tenantId: Int!
  number: Int
  submittedDate: DateTime
  items: [CrOrderItem]
  auditHistory: [AuditRecord]
  auditInfo: CrAuditInfo
  comments: [QuoteComment]
  expirationDate: DateTime
  fulfillmentInfo: FulfillmentInfo
  userId: String
  customerAccountId: Int
  email: String
  customerTaxId: String
  isTaxExempt: Boolean
  currencyCode: String
  priceListCode: String
  data: Object
  taxData: Object
  channelCode: String
  locationCode: String
  ipAddress: String
  sourceDevice: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  orderDiscounts: [CrAppliedDiscount]
  subTotal: Float!
  itemLevelProductDiscountTotal: Float!
  orderLevelProductDiscountTotal: Float!
  itemTaxTotal: Float!
  adjustment: Adjustment
  itemTotal: Float!
  total: Float!
  shippingDiscounts: [ShippingDiscount]
  itemLevelShippingDiscountTotal: Float!
  orderLevelShippingDiscountTotal: Float!
  shippingAmount: Float!
  shippingAdjustment: Adjustment
  shippingSubTotal: Float!
  shippingTax: Float
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingDiscounts: [CrAppliedDiscount]
  itemLevelHandlingDiscountTotal: Float!
  orderLevelHandlingDiscountTotal: Float!
  handlingAmount: Float
  handlingAdjustment: Adjustment
  handlingSubTotal: Float!
  handlingTax: Float
  handlingTaxTotal: Float!
  handlingTotal: Float!
  dutyAmount: Float
  dutyTotal: Float!
  feeTotal: Float!
  isDraft: Boolean
  hasDraft: Boolean
  status: String
  couponCodes: [String!]
  invalidCoupons: [InvalidCoupon]
}

type QuoteCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: QuoteCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Quote]
}

type QuoteComment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: QuoteComment
  id: String
  text: String
  auditInfo: CrAuditInfo
}

input QuoteCommentInput {
  id: String
  text: String
  auditInfo: CrAuditInfoInput
}

input QuoteInput {
  id: String
  name: String
  siteId: Int!
  tenantId: Int!
  number: Int
  submittedDate: DateTime
  items: [CrOrderItemInput]
  auditHistory: [AuditRecordInput]
  auditInfo: CrAuditInfoInput
  comments: [QuoteCommentInput]
  expirationDate: DateTime
  fulfillmentInfo: FulfillmentInfoInput
  userId: String
  customerAccountId: Int
  email: String
  customerTaxId: String
  isTaxExempt: Boolean = false
  currencyCode: String
  priceListCode: String
  data: Object
  taxData: Object
  channelCode: String
  locationCode: String
  ipAddress: String
  sourceDevice: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  orderDiscounts: [CrAppliedDiscountInput]
  subTotal: Float!
  itemLevelProductDiscountTotal: Float!
  orderLevelProductDiscountTotal: Float!
  itemTaxTotal: Float!
  adjustment: AdjustmentInput
  itemTotal: Float!
  total: Float!
  shippingDiscounts: [ShippingDiscountInput]
  itemLevelShippingDiscountTotal: Float!
  orderLevelShippingDiscountTotal: Float!
  shippingAmount: Float!
  shippingAdjustment: AdjustmentInput
  shippingSubTotal: Float!
  shippingTax: Float
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingDiscounts: [CrAppliedDiscountInput]
  itemLevelHandlingDiscountTotal: Float!
  orderLevelHandlingDiscountTotal: Float!
  handlingAmount: Float
  handlingAdjustment: AdjustmentInput
  handlingSubTotal: Float!
  handlingTax: Float
  handlingTaxTotal: Float!
  handlingTotal: Float!
  dutyAmount: Float
  dutyTotal: Float!
  feeTotal: Float!
  isDraft: Boolean = false
  hasDraft: Boolean = false
  status: String
  couponCodes: [String!]
  invalidCoupons: [InvalidCouponInput]
}

type ReasonCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReasonCollection
  totalCount: Int!
  items: [String!]
}

type Refund {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Refund
  id: String
  orderId: String
  reason: String
  reasonCode: String
  payment: Payment
  amount: Float!
  refundMethod: String
  auditInfo: CrAuditInfo
}

input RefundInput {
  id: String
  orderId: String
  reason: String
  reasonCode: String
  payment: PaymentInput
  amount: Float!
  refundMethod: String
  auditInfo: CrAuditInfoInput
}

type RegularHours {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: RegularHours
  sunday: Hours
  monday: Hours
  tuesday: Hours
  wednesday: Hours
  thursday: Hours
  friday: Hours
  saturday: Hours
  timeZone: String
}

input RegularHoursInput {
  sunday: HoursInput
  monday: HoursInput
  tuesday: HoursInput
  wednesday: HoursInput
  thursday: HoursInput
  friday: HoursInput
  saturday: HoursInput
  timeZone: String
}

input RepriceShipmentObjectInput {
  originalShipment: ShipmentInput
  newShipment: ShipmentInput
}

input ResetPasswordInfoInput {
  emailAddress: String
  userName: String
  customerSetCode: String
}

type ResolvedPriceList {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ResolvedPriceList
  priceListCode: String
  priceListId: Int!
  name: String
  description: String
}

input RestockableReturnItemInput {
  returnItemId: String
  quantity: Int!
  locationCode: String
}

input ReturnActionInput {
  actionName: String
  returnIds: [String!]
}

type ReturnBundle {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReturnBundle
  productCode: String
  quantity: Int!
}

input ReturnBundleInput {
  productCode: String
  quantity: Int!
}

type ReturnCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReturnCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [ReturnObj]
}

type ReturnItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReturnItem
  id: String
  orderItemId: String
  orderLineId: Int
  orderItemOptionAttributeFQN: String
  product: CrProduct
  reasons: [ReturnReason]
  excludeProductExtras: Boolean
  returnType: String
  returnNotRequired: Boolean
  quantityReceived: Int!
  receiveStatus: String
  quantityShipped: Int!
  replaceStatus: String
  quantityRestockable: Int!
  quantityRestocked: Int!
  refundAmount: Float
  refundStatus: String
  quantityReplaced: Int
  notes: [OrderNote]
  productLossAmount: Float
  productLossTaxAmount: Float
  shippingLossAmount: Float
  shippingLossTaxAmount: Float
  bundledProducts: [ReturnBundle]
  totalWithoutWeightedShippingAndHandling: Float
  totalWithWeightedShippingAndHandling: Float
  shipmentItemId: Int
  shipmentNumber: Int
}

type ReturnItemCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReturnItemCollection
  totalCount: Int!
  items: [ReturnItem]
}

input ReturnItemInput {
  id: String
  orderItemId: String
  orderLineId: Int
  orderItemOptionAttributeFQN: String
  product: CrProductInput
  reasons: [ReturnReasonInput]
  excludeProductExtras: Boolean = false
  returnType: String
  returnNotRequired: Boolean = false
  quantityReceived: Int!
  receiveStatus: String
  quantityShipped: Int!
  replaceStatus: String
  quantityRestockable: Int!
  quantityRestocked: Int!
  refundAmount: Float
  refundStatus: String
  quantityReplaced: Int
  notes: [OrderNoteInput]
  productLossAmount: Float
  productLossTaxAmount: Float
  shippingLossAmount: Float
  shippingLossTaxAmount: Float
  bundledProducts: [ReturnBundleInput]
  totalWithoutWeightedShippingAndHandling: Float
  totalWithWeightedShippingAndHandling: Float
  shipmentItemId: Int
  shipmentNumber: Int
}

input ReturnItemSpecifierInput {
  returnItemId: String
  quantity: Int!
}

type ReturnObj {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReturnObj
  id: String
  customerAccountId: Int
  visitId: String
  webSessionId: String
  customerInteractionType: String
  availableActions: [String!]
  returnNumber: Int
  contact: Contact
  locationCode: String
  originalOrderId: String
  originalOrderNumber: Int
  returnOrderId: String
  currencyCode: String
  status: String
  receiveStatus: String
  refundStatus: String
  replaceStatus: String
  items: [ReturnItem]
  notes: [OrderNote]
  rmaDeadline: DateTime
  returnType: String
  refundAmount: Float
  auditInfo: CrAuditInfo
  payments: [Payment]
  packages: [PackageObj]
  productLossTotal: Float
  shippingLossTotal: Float
  lossTotal: Float
  productLossTaxTotal: Float
  shippingLossTaxTotal: Float
  tenantId: Int
  siteId: Int
  userId: String
  channelCode: String
  changeMessages: [ChangeMessage]
  actionRequired: Boolean
  isUnified: Boolean
}

input ReturnObjInput {
  id: String
  customerAccountId: Int
  visitId: String
  webSessionId: String
  customerInteractionType: String
  availableActions: [String!]
  returnNumber: Int
  contact: ContactInput
  locationCode: String
  originalOrderId: String
  originalOrderNumber: Int
  returnOrderId: String
  currencyCode: String
  status: String
  receiveStatus: String
  refundStatus: String
  replaceStatus: String
  items: [ReturnItemInput]
  notes: [OrderNoteInput]
  rmaDeadline: DateTime
  returnType: String
  refundAmount: Float
  auditInfo: CrAuditInfoInput
  payments: [PaymentInput]
  packages: [PackageObjInput]
  productLossTotal: Float
  shippingLossTotal: Float
  lossTotal: Float
  productLossTaxTotal: Float
  shippingLossTaxTotal: Float
  tenantId: Int
  siteId: Int
  userId: String
  channelCode: String
  changeMessages: [ChangeMessageInput]
  actionRequired: Boolean = false
  isUnified: Boolean = false
}

type ReturnReason {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ReturnReason
  reason: String
  quantity: Int!
}

input ReturnReasonInput {
  reason: String
  quantity: Int!
}

type SearchSuggestion {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SearchSuggestion
  suggestionType: String
  suggestion: Object
}

type SearchSuggestionGroup {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SearchSuggestionGroup
  name: String
  suggestions: [SearchSuggestion]
}

type SearchSuggestionResult {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SearchSuggestionResult
  query: String
  suggestionGroups: [SearchSuggestionGroup]
}

type ServiceType {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ServiceType
  code: String
  deliveryDuration: String
  content: ServiceTypeLocalizedContent
}

type ServiceTypeLocalizedContent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ServiceTypeLocalizedContent
  localeCode: String
  name: String
}

type Shipment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Shipment
  id: String
  externalShipmentId: String
  number: Int
  orderId: String
  orderNumber: Int!
  email: String
  currencyCode: String
  customerAccountId: Int
  customerTaxId: String
  shipmentType: String
  shippingMethodCode: String
  shippingMethodName: String
  fulfillmentLocationCode: String
  origin: Contact
  destination: Destination
  shipmentStatus: String
  shipmentStatusReason: ShipmentStatusReason
  transferShipmentNumbers: [Int!]
  isTransfer: Boolean
  originalShipmentNumber: Int
  parentShipmentNumber: Int
  fulfillmentStatus: String
  workflowProcessId: String
  workflowProcessContainerId: String
  workflowState: WorkflowState
  backorderCreatedDate: Int
  fulfillmentDate: DateTime
  orderSubmitDate: DateTime
  pickStatus: String
  pickType: String
  changeMessages: [ChangeMessage]
  packages: [PackageObj]
  items: [ShipmentItem]
  canceledItems: [CanceledItem]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfo
  shipmentAdjustment: Float!
  lineItemSubtotal: Float!
  lineItemTaxAdjustment: Float!
  lineItemTaxTotal: Float!
  lineItemTotal: Float!
  shippingAdjustment: Float!
  shippingSubtotal: Float!
  shippingTaxAdjustment: Float!
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingAdjustment: Float!
  handlingSubtotal: Float!
  handlingTaxAdjustment: Float!
  handlingTaxTotal: Float!
  handlingTotal: Float!
  dutyAdjustment: Float!
  dutyTotal: Float!
  total: Float!
  cost: Float
  externalOrderId: String
  isExpress: Boolean
  readyToCapture: Boolean
  pickupInfo: Object
  shopperNotes: FulfillmentShopperNotes
  customer: Customer
}

input ShipmentAdjustmentInput {
  itemAdjustment: Float
  itemTaxAdjustment: Float
  shippingAdjustment: Float
  shippingTaxAdjustment: Float
  handlingAdjustment: Float
  handlingTaxAdjustment: Float
}

input ShipmentInput {
  id: String
  externalShipmentId: String
  number: Int
  orderId: String
  orderNumber: Int!
  email: String
  currencyCode: String
  customerAccountId: Int
  customerTaxId: String
  shipmentType: String
  shippingMethodCode: String
  shippingMethodName: String
  fulfillmentLocationCode: String
  origin: ContactInput
  destination: DestinationInput
  shipmentStatus: String
  shipmentStatusReason: ShipmentStatusReasonInput
  transferShipmentNumbers: [Int!]
  isTransfer: Boolean = false
  originalShipmentNumber: Int
  parentShipmentNumber: Int
  fulfillmentStatus: String
  workflowProcessId: String
  workflowProcessContainerId: String
  workflowState: WorkflowStateInput
  backorderCreatedDate: Int
  fulfillmentDate: DateTime
  orderSubmitDate: DateTime
  pickStatus: String
  pickType: String
  changeMessages: [ChangeMessageInput]
  packages: [PackageObjInput]
  items: [ShipmentItemInput]
  canceledItems: [CanceledItemInput]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfoInput
  shipmentAdjustment: Float!
  lineItemSubtotal: Float!
  lineItemTaxAdjustment: Float!
  lineItemTaxTotal: Float!
  lineItemTotal: Float!
  shippingAdjustment: Float!
  shippingSubtotal: Float!
  shippingTaxAdjustment: Float!
  shippingTaxTotal: Float!
  shippingTotal: Float!
  handlingAdjustment: Float!
  handlingSubtotal: Float!
  handlingTaxAdjustment: Float!
  handlingTaxTotal: Float!
  handlingTotal: Float!
  dutyAdjustment: Float!
  dutyTotal: Float!
  total: Float!
  cost: Float
  externalOrderId: String
  isExpress: Boolean = false
  readyToCapture: Boolean = false
  pickupInfo: Object
  shopperNotes: FulfillmentShopperNotesInput
  customer: CustomerInput
}

type ShipmentItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShipmentItem
  lineId: Int!
  originalOrderItemId: String
  parentId: String
  productCode: String
  variationProductCode: String
  optionAttributeFQN: String
  name: String
  auditInfo: CrAuditInfo
  fulfillmentLocationCode: String
  imageUrl: String
  isTaxable: Boolean
  quantity: Int!
  unitPrice: Float!
  actualPrice: Float!
  overridePrice: Float
  itemDiscount: Float!
  lineItemCost: Float!
  itemTax: Float!
  shipping: Float!
  shippingDiscount: Float!
  shippingTax: Float!
  handling: Float!
  handlingDiscount: Float!
  handlingTax: Float!
  duty: Float!
  isPackagedStandAlone: Boolean
  readyForPickupQuantity: Int
  backorderReleaseDate: DateTime
  measurements: CrPackageMeasurements
  options: [CrProductOption]
  data: Object
  taxData: Object
  weightedShipmentAdjustment: Float!
  weightedLineItemTaxAdjustment: Float!
  weightedShippingAdjustment: Float!
  weightedShippingTaxAdjustment: Float!
  weightedHandlingAdjustment: Float!
  weightedHandlingTaxAdjustment: Float!
  weightedDutyAdjustment: Float!
  taxableShipping: Float!
  taxableLineItemCost: Float!
  taxableHandling: Float!
  fulfillmentFields: [FulfillmentField]
  isAssemblyRequired: Boolean
  parentItemId: String
  childItemIds: [String!]
  giftCards: [GiftCard]
}

input ShipmentItemAdjustmentInput {
  overridePrice: Float
}

input ShipmentItemInput {
  lineId: Int!
  originalOrderItemId: String
  parentId: String
  productCode: String
  variationProductCode: String
  optionAttributeFQN: String
  name: String
  auditInfo: CrAuditInfoInput
  fulfillmentLocationCode: String
  imageUrl: String
  isTaxable: Boolean = false
  quantity: Int!
  unitPrice: Float!
  actualPrice: Float!
  overridePrice: Float
  itemDiscount: Float!
  lineItemCost: Float!
  itemTax: Float!
  shipping: Float!
  shippingDiscount: Float!
  shippingTax: Float!
  handling: Float!
  handlingDiscount: Float!
  handlingTax: Float!
  duty: Float!
  isPackagedStandAlone: Boolean = false
  readyForPickupQuantity: Int
  backorderReleaseDate: DateTime
  measurements: CrPackageMeasurementsInput
  options: [CrProductOptionInput]
  data: Object
  taxData: Object
  weightedShipmentAdjustment: Float!
  weightedLineItemTaxAdjustment: Float!
  weightedShippingAdjustment: Float!
  weightedShippingTaxAdjustment: Float!
  weightedHandlingAdjustment: Float!
  weightedHandlingTaxAdjustment: Float!
  weightedDutyAdjustment: Float!
  taxableShipping: Float!
  taxableLineItemCost: Float!
  taxableHandling: Float!
  fulfillmentFields: [FulfillmentFieldInput]
  isAssemblyRequired: Boolean = false
  parentItemId: String
  childItemIds: [String!]
  giftCards: [GiftCardInput]
}

type ShipmentStatusReason {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShipmentStatusReason
  reasonCode: String
  moreInfo: String
}

input ShipmentStatusReasonInput {
  reasonCode: String
  moreInfo: String
}

input ShippingAddressInput {
  addressID: Int!
  addressLine1: String!
  city: String!
  countryCode: String!
  customerID: Int!
  latitude: Float!
  longitude: Float!
  phone: String!
  postalCode: String!
  state: String!
}

type ShippingDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShippingDiscount
  methodCode: String
  discount: CrAppliedDiscount
}

input ShippingDiscountInput {
  methodCode: String
  discount: CrAppliedDiscountInput
}

type ShippingMethodMappings {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShippingMethodMappings
  shippingMethods: [String!]
  returnLabelShippingMethod: String
  standardDefault: String
  express1DayDefault: String
  express2DayDefault: String
  express3DayDefault: String
  enableSmartPost: Boolean
  internationalUsReturnLabelShippingMethod: String
}

type ShippingOriginContact {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShippingOriginContact
  firstName: String
  middleNameOrInitial: String
  lastNameOrSurname: String
  companyOrOrganization: String
  phoneNumber: String
  email: String
}

input ShippingOriginContactInput {
  firstName: String
  middleNameOrInitial: String
  lastNameOrSurname: String
  companyOrOrganization: String
  phoneNumber: String
  email: String
}

type ShippingRate {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShippingRate
  shippingMethodCode: String
  shippingMethodName: String
  shippingZoneCode: String
  isValid: Boolean
  messages: [String!]
  data: Object
  currencyCode: String
  price: Float
}

input ShippingRateInput {
  shippingMethodCode: String
  shippingMethodName: String
  shippingZoneCode: String
  isValid: Boolean = false
  messages: [String!]
  data: Object
  currencyCode: String
  price: Float
}

type ShopperNotes {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ShopperNotes
  giftMessage: String
  comments: String
  deliveryInstructions: String
}

input ShopperNotesInput {
  giftMessage: String
  comments: String
  deliveryInstructions: String
}

type SolrDebugInfo {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SolrDebugInfo
  searchTuningRuleCode: String
  boostedProductCodes: [String!]
  blockedProductCodes: [String!]
  boostQueries: [String!]
  boostFunctions: [String!]
}

input SplitShipmentsObjectInput {
  originalShipment: ShipmentInput
  newShipments: [ShipmentInput]
}

type SubPayment {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SubPayment
  status: String
  amountCollected: Float!
  amountCredited: Float!
  amountRequested: Float!
  amountRefunded: Float!
  target: PaymentActionTarget
}

input SubPaymentInput {
  status: String
  amountCollected: Float!
  amountCredited: Float!
  amountRequested: Float!
  amountRefunded: Float!
  target: PaymentActionTargetInput
}

type SuggestedDiscount {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SuggestedDiscount
  productCode: String
  autoAdd: Boolean
  discountId: Int!
  hasMultipleProducts: Boolean
  hasOptions: Boolean
}

input SuggestedDiscountInput {
  productCode: String
  autoAdd: Boolean = false
  discountId: Int!
  hasMultipleProducts: Boolean = false
  hasOptions: Boolean = false
}

type SuggestionEvent {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SuggestionEvent
  causeID: Int!
  errors: [String!]!
  name: String!
  type: TypeEnum
}

type SuggestionLog {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SuggestionLog
  created: DateTime!
  creatorUsername: String!
  environmentID: Int!
  events: [SuggestionEvent]!
  externalResponseID: String!
  orderID: Int!
  pathString: String!
  persisted: Boolean
  siteID: Int!
  suggestionID: Int!
  tenantID: Int!
  updated: DateTime!
  updaterUsername: String!
}

input SuggestionRequestInput {
  bundlingStrategy: BundlingStrategyEnum
  customData: Object!
  environmentID: Int!
  exclusionListLocationCode: [ExclusionListEntryLocationCodeInput]!
  externalResponseID: String!
  fraud: Int!
  inventoryRequestType: InventoryRequestTypeEnum
  isExpress: Boolean = false
  items: [OrderItemInput]!
  locationCodeWhiteList: [String!]!
  numShipmentsNotInRequest: Int!
  orderID: Int!
  orderType: OrderTypeEnum
  pickupLocationCode: String!
  shippingAddress: ShippingAddressInput
  total: Float!
}

type SuggestionResponse {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: SuggestionResponse
  assignmentSuggestions: Object!
  availableLocations: [Int!]!
  externalResponseID: String!
  responseID: Int!
  stateChangeSuggestions: Object!
  suggestionLog: SuggestionLog
}

type TargetRule {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: TargetRule
  code: String
  description: String
  domain: String
  expression: String
}

type TargetRuleCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: TargetRuleCollection
  totalCount: Int!
  items: [TargetRule]
}

input TargetRuleInput {
  code: String
  description: String
  domain: String
  expression: String
}

type TaskInput {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: TaskInput
  helpMessage: String
  label: String
  maxLength: Int
  maximum: Float!
  minLength: Int
  minimum: Float!
  name: String
  options: [Object!]
  pattern: String
  required: Boolean
  type: String
}

input TaskInputInput {
  helpMessage: String
  label: String
  maxLength: Int
  maximum: Float!
  minLength: Int
  minimum: Float!
  name: String
  options: [Object!]
  pattern: String
  required: Boolean = false
  type: String
}

type ThresholdMessage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ThresholdMessage
  discountId: Int!
  message: String
  thresholdValue: Float!
  showOnCheckout: Boolean
  showInCart: Boolean
  requiresCouponCode: Boolean
}

input ThresholdMessageInput {
  discountId: Int!
  message: String
  thresholdValue: Float!
  showOnCheckout: Boolean = false
  showInCart: Boolean = false
  requiresCouponCode: Boolean = false
}

type Tracking {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Tracking
  attributes: Object
  number: String
  url: String
}

input TrackingInput {
  attributes: Object
  number: String
  url: String
}

type Transaction {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Transaction
  transactionId: String
  visitId: String
  transactionType: String
  interactionType: String
  amount: Float!
  date: DateTime!
  currencyCode: String
}

input TransactionInput {
  transactionId: String
  visitId: String
  transactionType: String
  interactionType: String
  amount: Float!
  date: DateTime!
  currencyCode: String
}

enum TypeEnum {
  NEW_REQUEST
  ROUTE_SELECTED
  MAKE_LOCATIONS_AVAILABLE
  NO_ROUTE_FOUND
  REMOVED_INACTIVE_LOCATIONS
  REMOVED_ON_HOLD_LOCATIONS
  REMOVED_OVERFULFILLED_LOCATIONS
  GROUP
  GROUP_FILTER
  GROUP_SORT
  FILTER
  SORT
  AFTER_ACTION
  FOUND_FULL_ORDER_LOCATION
  RESPONSE
  AFTER_ACTION_SORT
  DEFAULT_RESPONSE
  MAX_SPLITS_EXCEEDED
  AUTO_ASSIGN_LIMIT_EXCEEDED
  INVENTORY_REQUEST
  REMOVED_INTERNATIONAL_LOCATIONS
}

type UserRole {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: UserRole
  userId: String
  assignedInScope: UserScope
  roleId: Int!
  roleName: String
  roleTags: [String!]
  auditInfo: CuAuditInfo
}

type UserRoleCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: UserRoleCollection
  totalCount: Int!
  items: [UserRole]
}

input UserRoleInput {
  userId: String
  assignedInScope: UserScopeInput
  roleId: Int!
  roleName: String
  roleTags: [String!]
  auditInfo: CuAuditInfoInput
}

type UserScope {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: UserScope
  type: String
  id: Int
  name: String
}

input UserScopeInput {
  type: String
  id: Int
  name: String
}

type ValidationMessage {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ValidationMessage
  severity: String
  source: String
  message: String
  validationType: String
  sourceId: String
}

type VariationOption {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: VariationOption
  valueSequence: Int!
  attributeFQN: String
  value: Object
}

type VariationSummary {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: VariationSummary
  productCode: String
  options: [VariationOption]
  inventoryInfo: ProductInventoryInfo
}

type View {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: View
  name: String
  usages: [String!]
  metadata: Object
  isVisibleInStorefront: Boolean
  filter: String
  includeInactiveMode: String
  isAdminDefault: Boolean
  fields: [ViewField]
}

type ViewField {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: ViewField
  name: String
  target: String
}

input ViewFieldInput {
  name: String
  target: String
}

input ViewInput {
  name: String
  usages: [String!]
  metadata: Object
  isVisibleInStorefront: Boolean = false
  filter: String
  includeInactiveMode: String
  isAdminDefault: Boolean = false
  fields: [ViewFieldInput]
}

type Wishlist {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: Wishlist
  customerAccountId: Int
  typeTag: String
  name: String
  items: [WishlistItem]
  privacyType: String
  sortOrder: Int
  version: String
  isImport: Boolean
  importDate: DateTime
  externalId: String
  userId: String
  id: String
  tenantId: Int
  siteId: Int
  channelCode: String
  currencyCode: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  fulfillmentInfo: FulfillmentInfo
  orderDiscounts: [CrAppliedDiscount]
  suggestedDiscounts: [SuggestedDiscount]
  rejectedDiscounts: [SuggestedDiscount]
  data: Object
  taxData: Object
  subtotal: Float
  discountedSubtotal: Float
  discountTotal: Float
  discountedTotal: Float
  shippingTotal: Float
  shippingSubTotal: Float
  shippingTaxTotal: Float
  handlingTaxTotal: Float
  itemTaxTotal: Float
  taxTotal: Float
  feeTotal: Float
  total: Float
  lineItemSubtotalWithOrderAdjustments: Float
  shippingAmountBeforeDiscountsAndAdjustments: Float
  lastValidationDate: DateTime
  expirationDate: DateTime
  changeMessages: [ChangeMessage]
  extendedProperties: [ExtendedProperty]
  discountThresholdMessages: [ThresholdMessage]
  auditInfo: CrAuditInfo
}

type WishlistCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: WishlistCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [Wishlist]
}

input WishlistInput {
  customerAccountId: Int
  typeTag: String
  name: String
  items: [WishlistItemInput]
  privacyType: String
  sortOrder: Int
  version: String
  isImport: Boolean = false
  importDate: DateTime
  externalId: String
  userId: String
  id: String
  tenantId: Int
  siteId: Int
  channelCode: String
  currencyCode: String
  visitId: String
  webSessionId: String
  customerInteractionType: String
  fulfillmentInfo: FulfillmentInfoInput
  orderDiscounts: [CrAppliedDiscountInput]
  suggestedDiscounts: [SuggestedDiscountInput]
  rejectedDiscounts: [SuggestedDiscountInput]
  data: Object
  taxData: Object
  subtotal: Float
  discountedSubtotal: Float
  discountTotal: Float
  discountedTotal: Float
  shippingTotal: Float
  shippingSubTotal: Float
  shippingTaxTotal: Float
  handlingTaxTotal: Float
  itemTaxTotal: Float
  taxTotal: Float
  feeTotal: Float
  total: Float
  lineItemSubtotalWithOrderAdjustments: Float
  shippingAmountBeforeDiscountsAndAdjustments: Float
  lastValidationDate: DateTime
  expirationDate: DateTime
  changeMessages: [ChangeMessageInput]
  extendedProperties: [ExtendedPropertyInput]
  discountThresholdMessages: [ThresholdMessageInput]
  auditInfo: CrAuditInfoInput
}

type WishlistItem {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: WishlistItem
  id: String
  comments: String
  priorityType: String
  purchasableStatusType: String
  localeCode: String
  purchaseLocation: String
  lineId: Int
  product: CrProduct
  quantity: Int!
  isRecurring: Boolean
  isTaxable: Boolean
  subtotal: Float
  extendedTotal: Float
  taxableTotal: Float
  discountTotal: Float
  discountedTotal: Float
  itemTaxTotal: Float
  shippingTaxTotal: Float
  shippingTotal: Float
  handlingAmount: Float
  feeTotal: Float
  total: Float
  unitPrice: CommerceUnitPrice
  productDiscount: AppliedLineItemProductDiscount
  productDiscounts: [AppliedLineItemProductDiscount]
  shippingDiscounts: [AppliedLineItemShippingDiscount]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfo
  shippingAmountBeforeDiscountsAndAdjustments: Float
  weightedOrderAdjustment: Float
  weightedOrderDiscount: Float
  adjustedLineItemSubtotal: Float
  totalWithoutWeightedShippingAndHandling: Float
  weightedOrderTax: Float
  weightedOrderShipping: Float
  weightedOrderShippingDiscount: Float
  weightedOrderShippingManualAdjustment: Float
  weightedOrderShippingTax: Float
  weightedOrderHandlingFee: Float
  weightedOrderHandlingFeeTax: Float
  weightedOrderHandlingFeeDiscount: Float
  weightedOrderDuty: Float
  totalWithWeightedShippingAndHandling: Float
  weightedOrderHandlingAdjustment: Float
  autoAddDiscountId: Int
  isAssemblyRequired: Boolean
  childItemIds: [String!]
  parentItemId: String
}

type WishlistItemCollection {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: WishlistItemCollection
  startIndex: Int!
  pageSize: Int!
  pageCount: Int!
  totalCount: Int!
  items: [WishlistItem]
}

input WishlistItemInput {
  id: String
  comments: String
  priorityType: String
  purchasableStatusType: String
  localeCode: String
  purchaseLocation: String
  lineId: Int
  product: CrProductInput
  quantity: Int!
  isRecurring: Boolean = false
  isTaxable: Boolean = false
  subtotal: Float
  extendedTotal: Float
  taxableTotal: Float
  discountTotal: Float
  discountedTotal: Float
  itemTaxTotal: Float
  shippingTaxTotal: Float
  shippingTotal: Float
  handlingAmount: Float
  feeTotal: Float
  total: Float
  unitPrice: CommerceUnitPriceInput
  productDiscount: AppliedLineItemProductDiscountInput
  productDiscounts: [AppliedLineItemProductDiscountInput]
  shippingDiscounts: [AppliedLineItemShippingDiscountInput]
  data: Object
  taxData: Object
  auditInfo: CrAuditInfoInput
  shippingAmountBeforeDiscountsAndAdjustments: Float
  weightedOrderAdjustment: Float
  weightedOrderDiscount: Float
  adjustedLineItemSubtotal: Float
  totalWithoutWeightedShippingAndHandling: Float
  weightedOrderTax: Float
  weightedOrderShipping: Float
  weightedOrderShippingDiscount: Float
  weightedOrderShippingManualAdjustment: Float
  weightedOrderShippingTax: Float
  weightedOrderHandlingFee: Float
  weightedOrderHandlingFeeTax: Float
  weightedOrderHandlingFeeDiscount: Float
  weightedOrderDuty: Float
  totalWithWeightedShippingAndHandling: Float
  weightedOrderHandlingAdjustment: Float
  autoAddDiscountId: Int
  isAssemblyRequired: Boolean = false
  childItemIds: [String!]
  parentItemId: String
}

type WorkflowState {
  _get(
    path: String!
    defaultValue: AnyScalar
    allowUndefined: Boolean
  ): AnyScalar
  _root: WorkflowState
  attributes: Object
  auditInfo: CrAuditInfo
  completedDate: DateTime
  processInstanceId: String
  shipmentState: String
  taskList: [FulfillmentTask]
}

input WorkflowStateInput {
  attributes: Object
  auditInfo: CrAuditInfoInput
  completedDate: DateTime
  processInstanceId: String
  shipmentState: String
  taskList: [FulfillmentTaskInput]
}
