> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kibocommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upsert Inventory Tags on OrderItem

> You need to pass in all tags everytime



## OpenAPI

````yaml /openapi/openapi_commerce.json put /commerce/orders/{orderId}/items/{orderItemId}/upsertInventoryTags
openapi: 3.0.1
info:
  description: |-
    <div id="overview_COMMERCE">
                <h2>COMMERCE</h2>
                <p>The Commerce API interacts with the commerce entities of your tenant, including shoppers's active shopping
                    carts, checkouts, submitted orders, wishlists, and returns as well as B2B quotes.</p>
                <p>Use the <strong>Carts</strong> resource to manage storefront shopping carts as shoppers add and remove items for purchase.
                    Each time a shopper's cart is modified, the Carts resource updates the estimated total with any
                    applicable
                    discounts.</p>
                <p>Use the <strong>Channels</strong> and <strong>Channel Groups</strong> resources to manage the channels a company uses to create logical
                    commercial business divisions based on region or types of sales, such as "US Online," "Amazon," or "EMEA
                    Retail."
                    All orders include a channel association that enables the company to perform financial reporting for
                    each defined channel.
                    Because channels are managed at the tenant level, you must associate all the tenant's sites with a
                    channel. Sites that do not
                    have a defined channel association cannot successfully submit orders.</p>
                <p>Use the <strong>Checkouts</strong> resource to track a shopper's order items and their intended destinations on sites that
                    have the multiple shipment feature enabled.</p>
                <p>Use the <strong>Orders</strong> resource to manage all components of order processing, payment, and order-level
                    fulfillment.</p>
                <p>Use the <strong>Quotes</strong> resource to support B2B functionality by managing order quotes, similar to wishlists.</p>
                <p>Use the <strong>Returns</strong> resource to manage returned items that were previously fufilled. Returns can include any
                    number of items associated with an original
                    order. Each return must either be associated with an original order or a product definition to represent
                    each returned item.</p>
                <p>Use the <strong>Wish Lists</strong> resource to manage the shopper wish lists of products associated with a customer
                    account. Although customer accounts are managed at the tenant
                    level, the system stores shopper wish lists at the site level. This enables the same customer to have
                    wish lists for each of a merchant's sites. The <strong>Wish List Items</strong>
                    resource allows you to manage the individual items in a wish list.</p>
            </div>
  title: Cart/Checkout/Quote
  version: 0.0.1
servers:
  - description: Kibo Base URL
    url: '{baseUrl}/api'
    variables:
      baseUrl:
        default: https://t1000000.sb.usc1.gcp.kibocommerce.com
        description: Base URL
security:
  - bearerAuth: []
paths:
  /commerce/orders/{orderId}/items/{orderItemId}/upsertInventoryTags:
    put:
      tags:
        - Order
      summary: Upsert Inventory Tags on OrderItem
      description: You need to pass in all tags everytime
      parameters:
        - description: Unique identifier of the order.
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - description: Unique identifier of the order item.
          in: path
          name: orderItemId
          required: true
          schema:
            type: string
        - description: >-
            Determines the update strategy for this update (ApplyAndCommit,
            ApplyToOriginal, ApplyToDraft)
          in: query
          name: updateMode
          schema:
            type: string
        - description: >-
            Determines whether or not to check versioning of items for
            concurrency purposes.
          in: query
          name: version
          schema:
            type: string
        - description: limits which fields are returned in the response body
          in: query
          name: responseFields
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/InventoryTags'
              type: array
        description: >-
          Mozu.CommerceRuntime.Contracts.Commerce.InventoryTags to use as the
          update source
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommerceRuntimeOrder'
            text/json:
              schema:
                $ref: '#/components/schemas/CommerceRuntimeOrder'
            text/plain:
              schema:
                $ref: '#/components/schemas/CommerceRuntimeOrder'
          description: Success
components:
  schemas:
    InventoryTags:
      properties:
        name:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    CommerceRuntimeOrder:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeCommerceAggregate'
      description: Order form.
      properties:
        acceptedDate:
          description: When the order was accepted by the merchant
          format: date-time
          nullable: true
          type: string
        acceptsMarketing:
          description: Does the customer accept marketing
          nullable: true
          type: boolean
        adjustment:
          $ref: '#/components/schemas/Adjustment'
        alternateContact:
          $ref: '#/components/schemas/AlternateContact'
        amountAvailableForRefund:
          description: "This property represents AmountCaptured - AmountRefunded via returns.\r\nIt is read only."
          format: double
          type: number
        amountRefunded:
          description: "A counter for how much money has been issued in refunds.\r\nThis calculated field does NOT include refunds issued in returns."
          format: double
          type: number
        amountRemainingForPayment:
          description: "A counter for how much of the order total has not been claimed by payments.\r\nThis is computed by Order.Total-(sum of Order.Payments where State is not voided/declined)"
          format: double
          type: number
        attributes:
          items:
            $ref: '#/components/schemas/CommerceRuntimeOrderAttribute'
          nullable: true
          type: array
        availableActions:
          description: Actions available to the payment
          items:
            type: string
          nullable: true
          type: array
        billingInfo:
          $ref: '#/components/schemas/CommerceRuntimeBillingInfo'
        canceledItems:
          description: Items canceled on the Order due to Rule violation
          items:
            $ref: '#/components/schemas/CommerceRuntimeOrderCanceledItem'
          nullable: true
          type: array
        cancelledDate:
          description: Date the order was cancelled.
          format: date-time
          nullable: true
          type: string
        closedDate:
          description: >-
            Date the order was closed. A closed order means that the order has
            been processed and items shipped.
          format: date-time
          nullable: true
          type: string
        continuityOrderOrdinal:
          description: The ordinal to track the Continuity order.
          format: int32
          type: integer
        couponCodes:
          description: Coupon codes associated with this order.  Only set on order import.
          items:
            type: string
          nullable: true
          type: array
        credits:
          items:
            $ref: '#/components/schemas/CommerceRuntimeCredit'
          nullable: true
          type: array
        customerAccountId:
          description: Unique identifier of the customer account.
          format: int32
          nullable: true
          type: integer
        customerTaxId:
          description: >-
            The customers tax ID.  If Customer Account ID exists in the system,
            will set this.
          nullable: true
          type: string
        digitalPackages:
          description: Fulfillment digital packages associated with this order.
          items:
            $ref: '#/components/schemas/CommerceRuntimeDigitalPackage'
          nullable: true
          type: array
        dutyAmount:
          description: >-
            Order level duty or tariff amount. Does not take into account duties
            or tariffs specifically on items on the order
          format: double
          nullable: true
          type: number
        dutyTotal:
          description: >-
            Duties or tariffs for the Order as well as OrderItems (e.g. if the
            Order has a $5 duty or tariff for any reason and an OrderItem has a
            $2 duty or tariff then the value in this property would be $7)
          format: double
          nullable: true
          type: number
        email:
          description: Email address of the customer at the time the order is placed.
          nullable: true
          type: string
        externalId:
          description: An order number to link this order to an external system
          nullable: true
          type: string
        forceDeliveryConsolidationOnSplitShipments:
          description: "Overrides the Fulfillment SiteSetting value for `ForceDeliveryConsolidationOnSplitShipments`.\r\nTODO autogen instead of manual addition"
          nullable: true
          type: boolean
        forceSTHConsolidationOnSplitShipments:
          description: "Overrides the Fulfillment SiteSetting value for `ForceSTHConsolidationOnSplitShipments`.\r\nTODO autogen instead of manual addition"
          nullable: true
          type: boolean
        fulfillmentStatus:
          description: "Current fulfillment status, which can be \"NotFulfilled,\", \"PartiallyFulfilled\", or \"Fufilled.\" \r\nSystem-supplied and read-only.  Values are available in FulfillmentStatusConst of this class."
          nullable: true
          type: string
        handlingAdjustment:
          $ref: '#/components/schemas/Adjustment'
        handlingAmount:
          description: Order level handling fees excluding any discounts.
          format: double
          nullable: true
          type: number
        handlingDiscounts:
          description: >-
            The list of historically-applied handling discounts.  The active one
            will have IsExcluded == false
          items:
            $ref: '#/components/schemas/CommerceRuntimeAppliedDiscount'
          nullable: true
          type: array
        handlingSubTotal:
          description: >-
            Handling fees for the Order as well as OrderItems (e.g. if the Order
            has a $5 handling fee and an OrderItem has a $2 handling fee per
            item quantity and the quantity of items is 2 then the value in this
            property would be $9)
          format: double
          nullable: true
          type: number
        handlingTotal:
          description: Handling fees including any discounts.
          format: double
          nullable: true
          type: number
        hasDraft:
          description: Does this order have a draft version.
          nullable: true
          type: boolean
        importDate:
          description: Date this item was imported
          format: date-time
          nullable: true
          type: string
        invalidCoupons:
          description: A list of invalid coupons that were attempted on the order
          items:
            $ref: '#/components/schemas/InvalidCoupon'
          nullable: true
          type: array
        ipAddress:
          description: IP address of the user placing the order. (User or customer?)
          nullable: true
          type: string
        isContinuityOrder:
          description: Flag to check if the order is continuityOrder.
          type: boolean
        isDraft:
          description: Is this order a draft version
          nullable: true
          type: boolean
        isEligibleForReturns:
          description: >-
            Marker for determining if the order is a) complete or b) has some
            items that are shipped and not part of any other return
          type: boolean
        isFulfillable:
          description: >-
            Flag to indicate whether it is safe to proceed with fulfillment on
            shipments on the order.
          type: boolean
        isHistoricalImport:
          description: >-
            Indicates this was an order in a terminal state (completed/canceled)
            that was imported into the system for historical purposes.
          nullable: true
          type: boolean
        isImport:
          description: Was this order initiated from an external system
          nullable: true
          type: boolean
        isOptInForSms:
          description: Whether the shopper opts in to curbside text notifications.
          type: boolean
        isPartialOrder:
          description: >-
            Returns {true} if this order originated from a checkout and has
            sibling partial orders, otherwise {false}.
          type: boolean
        isTaxExempt:
          description: Unique identifier of the customer account.
          nullable: true
          type: boolean
        isUnified:
          description: Was this order created by the Unified platform.
          type: boolean
        items:
          description: List of items in the order.
          items:
            $ref: '#/components/schemas/CommerceRuntimeOrderItem'
          nullable: true
          type: array
        locationCode:
          description: >-
            Identifies the location at which the order was placed if the order
            was placed externally.
          nullable: true
          type: string
        notes:
          description: >-
            Internal notes that a merchant may add to the order. Maximum 250
            characters.
          items:
            $ref: '#/components/schemas/OrderNote'
          nullable: true
          type: array
        orderNumber:
          description: >-
            Order Number. This is an integer that is only assigned after an
            order is placed and enters the open state.
          format: int32
          nullable: true
          type: integer
        originalCartId:
          description: Unique identifier for the cart that was converted to order.
          nullable: true
          type: string
        originalQuoteId:
          description: >-
            If this order originated from a quote, this is the identifier of the
            originating quote.
          nullable: true
          type: string
        originalQuoteNumber:
          description: >-
            If this order originated from a quote, this is the number of the
            originating quote.
          format: int32
          nullable: true
          type: integer
        packages:
          description: Shipping package associated with this order.
          items:
            $ref: '#/components/schemas/CommerceRuntimePackage'
          nullable: true
          type: array
        parentCheckoutId:
          description: >-
            If this order originated from a multi-ship enabled site, this is the
            identifier of the originating checkout.
          nullable: true
          type: string
        parentCheckoutNumber:
          description: >-
            If this order originated from a multi-ship enabled site, this is the
            number of the originating checkout.
          format: int32
          nullable: true
          type: integer
        parentOrderId:
          description: If this Order has a parent order, this should be the parent's ID.
          nullable: true
          type: string
        parentOrderNumber:
          description: >-
            If this order has a parent order, this should be the parent's
            Mozu.CommerceRuntime.Contracts.Orders.Order.OrderNumber.
          format: int32
          nullable: true
          type: integer
        parentReturnId:
          description: >-
            If this order was created as part of a return, this should be the
            return's ID.
          nullable: true
          type: string
        parentReturnNumber:
          description: >-
            If this order was created as part of a return, this should be the
            return's ReturnNumber.
          format: int32
          nullable: true
          type: integer
        partialOrderCount:
          description: >-
            If this order originated from a checkout, this is the total number
            of orders created from that checkout.
          format: int32
          nullable: true
          type: integer
        partialOrderNumber:
          description: >-
            If this order originated from a checkout, this is a sequence number
            out of the total orders created from that checkout.
          format: int32
          nullable: true
          type: integer
        paymentStatus:
          description: "Current status of payment, which can be \"Null,\" \"AwaitingCheck,\" \"AwaitingPayment,\" \"Paid,\" \"Authorized,\" or \"Void.\" \r\nSystem-supplied and read-only."
          nullable: true
          type: string
        payments:
          description: "Payment transaction associated with this order. It is the entire payment interchange between the merchant \r\nwho is forwarding the customer's payment information and the payment service who is authorizing and \r\ncapturing payment. Payment can be either by credit card, check, or PayPal."
          items:
            $ref: '#/components/schemas/CommerceRuntimePayment'
          nullable: true
          type: array
        pickups:
          description: Fulfillment pickups associated with this order.
          items:
            $ref: '#/components/schemas/CommerceRuntimePickup'
          nullable: true
          type: array
        priceListCode:
          description: Pricelist code for the order
          nullable: true
          type: string
        readyToCapture:
          type: boolean
        refunds:
          description: "Refunds associated with this order. A refund is a single exchange of money from merchant to customer\r\nthat either encapsulates a refund to a credit card or an issuance of a store credit.\r\nRefunds does not reduce the 'amount collected' on an order and it is possible for refunds to exceed the total order amount."
          items:
            $ref: '#/components/schemas/CommerceRuntimeRefund'
          nullable: true
          type: array
        releaseShipmentDate:
          format: date-time
          nullable: true
          type: string
        reservationId:
          description: Inventory Reservation id for order.
          nullable: true
          type: string
        restrictCancellation:
          description: >-
            Settings this flag on the order will restrict user from Cancelling
            the order
          nullable: true
          type: boolean
        restrictEdit:
          description: >-
            Setting this flag on the order will restrict user from editing the
            order
          nullable: true
          type: boolean
        returnStatus:
          description: System-supplied and read-only.
          nullable: true
          type: string
        shipmentCreationOffset:
          description: Release Shipment After(in minutes) (Order Submitted Date).
          format: int32
          nullable: true
          type: integer
        shipments:
          description: Package shipments associated with this order.
          items:
            $ref: '#/components/schemas/CommerceRuntimeShipment'
          nullable: true
          type: array
        shippingAdjustment:
          $ref: '#/components/schemas/Adjustment'
        shippingDiscounts:
          items:
            $ref: '#/components/schemas/ShippingDiscount'
          nullable: true
          type: array
        shippingGroups:
          description: List of order grouping.
          items:
            $ref: '#/components/schemas/CommerceRuntimeShippingGrouping'
          nullable: true
          type: array
        shopperNotes:
          $ref: '#/components/schemas/CommerceRuntimeShopperNotes'
        sourceDevice:
          description: Source device of the user placing the order. (User or customer?)
          nullable: true
          type: string
        status:
          description: >-
            Current status of the order, which can be viewed in
            OrderStatusConst. System-supplied and read-only.
          nullable: true
          type: string
        submittedDate:
          description: When the customer placed (submitted) the order.
          format: date-time
          nullable: true
          type: string
        subscriptionIds:
          description: All the subscriptions associated with the current order.
          items:
            type: string
          nullable: true
          type: array
        totalCollected:
          description: Total amount of money collected on the order via payments.
          format: double
          type: number
        type:
          description: >-
            Is this Order Online or Offline? Online means shopper entered at
            checkout, offline means a phone order.
          nullable: true
          type: string
        validationResults:
          description: >-
            Validation results for the order when processes against validation
            capabilities.
          items:
            $ref: '#/components/schemas/OrderValidationResult'
          nullable: true
          type: array
        version:
          description: Version for concurrency purposes
          nullable: true
          type: string
      type: object
    CommerceRuntimeCommerceAggregate:
      description: Base class for cart and order
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        changeMessages:
          description: >-
            List of messages displayed by the system based on the last cart
            action, for example, when a product price has changed or is
            out-of-stock. System-supplied and read-only.
          items:
            $ref: '#/components/schemas/CommerceRuntimeChangeMessage'
          nullable: true
          type: array
        channelCode:
          description: Unique identifier of the channel for this item.
          nullable: true
          type: string
        currencyCode:
          description: ISO Currency Code. Currently, only USD is supported.
          nullable: true
          type: string
        customerInteractionType:
          description: "Determines the interaction type that a customer will use to create this object.\r\nValid values are: Website, Store, Call, Unknown"
          nullable: true
          type: string
        data:
          description: Custom data for a given vendor set within the commerce process.
          nullable: true
          type: object
        discountThresholdMessages:
          description: >-
            List of Mozu.CommerceRuntime.Contracts.Commerce.ThresholdMessage
            objects that are valid for the current value of the cart/order.
          items:
            $ref: '#/components/schemas/CommerceRuntimeThresholdMessage'
          nullable: true
          type: array
        discountTotal:
          description: >-
            Amount of the discounts applied to all items in the cart. This is a
            negative number.  This also includes the order level discounts.
          format: double
          nullable: true
          type: number
        discountedSubtotal:
          description: >-
            Combined price for all cart items, including all selected options as
            well as any discounts.
          format: double
          nullable: true
          type: number
        discountedTotal:
          description: Subtotal minus the discounted total
          format: double
          nullable: true
          type: number
        expirationDate:
          description: "When the order will no longer be active. That is, the order is considered abandoned. \r\nOrders of anonymous shoppers expire after 14 days of inactivity. \r\nAn order never expires for shoppers who are logged into their account. \r\nDate in UTC Date/Time."
          format: date-time
          nullable: true
          type: string
        extendedProperties:
          description: >-
            Extra properties (key-value pairs) that extend the primary object.
            Think of this as a property bag of string keys and string values.
          items:
            $ref: '#/components/schemas/ExtendedProperty'
          nullable: true
          type: array
        feeTotal:
          description: Not implemented. Total cost of fees for all items in the cart.
          format: double
          nullable: true
          type: number
        fulfillmentInfo:
          $ref: '#/components/schemas/FulfillmentInfo'
        handlingTaxTotal:
          description: Total tax on handling
          format: double
          nullable: true
          type: number
        id:
          description: >-
            Unique identifier of the CommerceAggregate object (e.g. order, cart,
            wishlist, etc.).
          nullable: true
          type: string
        itemTaxTotal:
          description: Not implemented. Tax does not appear on cart.
          format: double
          nullable: true
          type: number
        lastValidationDate:
          description: "Occasionally the commerce runtime may validate that item/product names, descriptions, and prices have not changed. \r\nIf changed, it updates LastValidationDate."
          format: date-time
          nullable: true
          type: string
        lineItemSubtotalWithOrderAdjustments:
          description: Line Item Subtotals with Order Adjustments
          format: double
          nullable: true
          type: number
        orderDiscounts:
          description: >-
            The discount that has been applied to the cart itself. If multiple
            discounts exist, this is the discount that the system applies
            because it offers the best savings for the shopper. This is a
            negative number.
          items:
            $ref: '#/components/schemas/CommerceRuntimeAppliedDiscount'
          nullable: true
          type: array
        rejectedDiscounts:
          items:
            $ref: '#/components/schemas/SuggestedDiscount'
          nullable: true
          type: array
        shippingAmountBeforeDiscountsAndAdjustments:
          description: Shipping Amount before discount and adjustments
          format: double
          nullable: true
          type: number
        shippingSubTotal:
          description: Shipping total without discounts applied.
          format: double
          nullable: true
          type: number
        shippingTaxTotal:
          description: Not implemented. Tax does not appear on cart.
          format: double
          nullable: true
          type: number
        shippingTotal:
          description: Shipping does not appear on cart.
          format: double
          nullable: true
          type: number
        siteId:
          description: Unique identifier of the Site.
          format: int32
          nullable: true
          type: integer
        subtotal:
          description: >-
            Combined price for all cart items, including all selected options
            but excluding any discounts.
          format: double
          nullable: true
          type: number
        suggestedDiscounts:
          items:
            $ref: '#/components/schemas/SuggestedDiscount'
          nullable: true
          type: array
        taxData:
          description: Storage for any additional/custom tax data.
          nullable: true
          type: object
        taxTotal:
          description: Tax does not appear on cart.
          format: double
          nullable: true
          type: number
        tenantId:
          description: Unique identifier of the Tenant.
          format: int32
          nullable: true
          type: integer
        total:
          description: >-
            Final total amount of the order including all discounts, shipping,
            and tax.
          format: double
          nullable: true
          type: number
        userId:
          description: Unique identifier of the shopper who created the cart.
          nullable: true
          type: string
        visitId:
          description: >-
            Identifies the Visit ID that was current when the order was placed
            or when the cart was last updated.
          nullable: true
          type: string
        webSessionId:
          description: >-
            Identifies the web session used to place the order or last update
            the cart.
          nullable: true
          type: string
      type: object
    Adjustment:
      properties:
        amount:
          format: double
          nullable: true
          type: number
        description:
          nullable: true
          type: string
        internalComment:
          nullable: true
          type: string
      type: object
    AlternateContact:
      properties:
        emailAddress:
          description: Email Address of alternate contact during order process
          nullable: true
          type: string
        firstName:
          description: First Name of alternate contact during order process
          nullable: true
          type: string
        lastNameOrSurname:
          description: Last Name of alternate contact during order process
          nullable: true
          type: string
        phoneNumber:
          description: Phone Number of alternate contact during order process
          nullable: true
          type: string
      type: object
    CommerceRuntimeOrderAttribute:
      properties:
        attributeDefinitionId:
          format: int32
          nullable: true
          type: integer
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        fullyQualifiedName:
          nullable: true
          type: string
        values:
          items: {}
          nullable: true
          type: array
      type: object
    CommerceRuntimeBillingInfo:
      description: "Customer's payment details such as payment type (credit card, check by mail, or PayPal)\r\nand cardholder information if payment is by credit card."
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        billingContact:
          $ref: '#/components/schemas/CommerceRuntimeContact'
        card:
          $ref: '#/components/schemas/CommerceRuntimePaymentCard'
        check:
          $ref: '#/components/schemas/CheckPayment'
        customCreditType:
          description: Name of custom stored credit type
          nullable: true
          type: string
        data:
          description: Custom data from payment providers
          nullable: true
          type: object
        externalTransactionId:
          description: >-
            Transaction Id from third party payment source like Visa Checkout,
            Amazon
          nullable: true
          type: string
        isRecurring:
          description: >-
            Indicates whether the payment is used in recurring transactions. ex-
            subscription payments
          type: boolean
        isSameBillingShippingAddress:
          description: Indicates that billing and shipping address are the same
          type: boolean
        paymentType:
          description: "Type of payment, such as credit card, check by mail, or PayPal.\r\nsee Mozu.CommerceRuntime.Contracts.Payments.PaymentTypeConst for valid values"
          nullable: true
          type: string
        paymentWorkflow:
          nullable: true
          type: string
        purchaseOrder:
          $ref: '#/components/schemas/PurchaseOrderPayment'
        recurringTransactionId:
          description: "Recurring Payment Id returned by Payment Gateway\r\nnetworkTransactionId for vantiv\r\npreviousTransactionId for cybersource etc"
          nullable: true
          type: string
        storeCreditCode:
          description: The store credit to use for this purchase
          nullable: true
          type: string
        storeCreditType:
          description: The type of store credit used for this purchase
          nullable: true
          type: string
        token:
          $ref: '#/components/schemas/PaymentToken'
      type: object
    CommerceRuntimeOrderCanceledItem:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeOrderItem'
      properties:
        canceledQuantity:
          description: Quantity Canceled on the OrderItem
          format: int32
          type: integer
        originalQuantity:
          description: Original Quantity of OrderItem before Cancellation
          format: int32
          type: integer
        ruleCode:
          description: >-
            Max Quantity Rule Code that was violated and led to Item
            Cancellation
          nullable: true
          type: string
      type: object
    CommerceRuntimeCredit:
      properties:
        amount:
          description: Amount credited.
          format: double
          type: number
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        giftCard:
          $ref: '#/components/schemas/GatewayGiftCard'
        id:
          description: Unique identifier of this order transaction.
          nullable: true
          type: string
        parentPaymentId:
          description: >-
            The paymentid of the Parent Payment associated with this Credit (if
            applicable).
          nullable: true
          type: string
        parentPaymentInteractionId:
          nullable: true
          type: string
      type: object
    CommerceRuntimeDigitalPackage:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeCollectionOfDigitalPackageItem'
      type: object
    CommerceRuntimeAppliedDiscount:
      description: "Discount applied to the order, which is a negative number to be subtracted from the original price to get the final price. \r\nIf multiple discounts for the order exist, this is the value most advantageous to the shopper."
      properties:
        couponCode:
          description: >-
            Code of the coupon associated with the discount if a coupon code is
            required to get the discount.
          nullable: true
          type: string
        data:
          description: Stores any custom data sent from external discounts.
          nullable: true
          type: object
        discount:
          $ref: '#/components/schemas/CommerceRuntimeDiscount'
        excluded:
          description: >-
            Determines whether or not this discount is set up to be ignored by
            the pricing runtime.
          nullable: true
          type: boolean
        groupId:
          description: Group identifier for the discount.
          nullable: true
          type: string
        impact:
          description: >-
            Value of the discount applied. This is a negative number to be
            subtracted from the original price to get the final price.
          format: double
          nullable: true
          type: number
      type: object
    InvalidCoupon:
      description: >-
        Represents a coupon that is considered invalid by the Mozu pricing
        service.
      properties:
        couponCode:
          description: Code that identifies the coupon.
          nullable: true
          type: string
        createDate:
          description: Create date of the invalid coupon.
          format: date-time
          type: string
        discountId:
          format: int32
          type: integer
        reason:
          description: Description text of the reason.
          nullable: true
          type: string
        reasonCode:
          description: Code that identifies the reason the coupon was invalid.
          format: int32
          type: integer
      type: object
    CommerceRuntimeOrderItem:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeCommerceItem'
      description: A single line item of an order.
      properties:
        deliveryWindow:
          $ref: '#/components/schemas/CommerceRuntimeDeliveryWindow'
        destinationId:
          description: >-
            The destination associated with this item when used with a
            multi-ship checkout.
          nullable: true
          type: string
        dutyAmount:
          description: Duty or Tariff for this item
          format: double
          nullable: true
          type: number
        expectedDeliveryDate:
          description: Expected Delivery Date of shipment
          format: date-time
          nullable: true
          type: string
        fulfillmentLocationCode:
          description: Location code from which to obtain this item
          nullable: true
          type: string
        fulfillmentMethod:
          description: Fulfillment method used to fulfill this item
          nullable: true
          type: string
        giftInfo:
          $ref: '#/components/schemas/GiftInfo'
        id:
          description: >-
            Unique identifier of the order line item. System-supplied and
            read-only.
          nullable: true
          type: string
        isReservationEnabled:
          description: Flag to indicate reserve inventory in cart
          type: boolean
        originalCartItemId:
          description: "Unique identifier of the cart item that is associated with this line item. \r\n(This is the original Cart Item ID expressed as a GUID.)"
          nullable: true
          type: string
        priceMode:
          description: >-
            Determines if the item is using external or internal(catalog)
            pricing
          nullable: true
          type: string
        returnRuleInfo:
          $ref: '#/components/schemas/ReturnRuleInfo'
        shippingMethodCode:
          description: Code that uniquely identifies the shipping method.
          nullable: true
          type: string
        shippingMethodName:
          description: Readable name of the shipping method.
          nullable: true
          type: string
        subscription:
          $ref: '#/components/schemas/SubscriptionInfo'
        suggestions:
          description: Routing suggestions
          items:
            $ref: '#/components/schemas/Suggestion'
          nullable: true
          type: array
      type: object
    OrderNote:
      description: >-
        Internal notes that a merchant may add to the order. Maximum 250
        characters.
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        id:
          description: Unique identifier of the note. System-supplied and read-only.
          nullable: true
          type: string
        text:
          description: Text of the note. Maximum 250 characters.
          nullable: true
          type: string
      type: object
    CommerceRuntimePackage:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeCollectionOfPackageItem'
      description: Describes a package that will be shipped to somebody
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        carrier:
          description: Carrier of this package
          nullable: true
          type: string
        fxcbDocumentsUrl:
          nullable: true
          type: string
        fxcbPackNotificationId:
          nullable: true
          type: string
        hasLabel:
          description: >-
            If there is a shipping label present for this Package, this will be
            set to true
          type: boolean
        integratorId:
          nullable: true
          type: string
        labelFormat:
          nullable: true
          type: string
        manifestId:
          nullable: true
          type: string
        measurements:
          $ref: '#/components/schemas/CommerceRuntimePackageMeasurements'
        packageId:
          nullable: true
          type: string
        packagingType:
          description: Packaging type of this package
          nullable: true
          type: string
        packingSlipItemDetails:
          description: PackingSlipItemDetails for this package
          items:
            $ref: '#/components/schemas/CommerceRuntimePackingSlipItemDetail'
          nullable: true
          type: array
        packingSlipNumber:
          description: PackingSlipNumber for this package
          format: int32
          nullable: true
          type: integer
        returnCarrier:
          nullable: true
          type: string
        returnTrackingNumbers:
          items:
            type: string
          nullable: true
          type: array
        returnTrackings:
          items:
            $ref: '#/components/schemas/CommerceRuntimeTracking'
          nullable: true
          type: array
        shipmentId:
          description: ID of the related shipment
          nullable: true
          type: string
        shippingMethodCode:
          description: Code describing the shipping method.
          nullable: true
          type: string
        shippingMethodName:
          description: Name of the shipping method
          nullable: true
          type: string
        signatureRequired:
          description: SignatureRequired for this package
          nullable: true
          type: boolean
        trackingNumber:
          description: Tracking number of this package (to support classic use cases)
          nullable: true
          type: string
        trackingNumbers:
          description: Tracking number of this package
          items:
            type: string
          nullable: true
          type: array
        trackings:
          description: Tracking number and url data for this package
          items:
            $ref: '#/components/schemas/CommerceRuntimeTracking'
          nullable: true
          type: array
      type: object
    CommerceRuntimePayment:
      description: "Payment transaction associated with this order. It is the entire payment interchange between the merchant who is forwarding the customer's payment \r\ninformation and the payment service who is authorizing and capturing payment. Payment can be either by credit card, check, or PayPal. (PayPal not\r\ncurrently supported.)"
      properties:
        amountCollected:
          description: Amount collected on the payment
          format: double
          type: number
        amountCredited:
          description: Amount credited back to the payment.
          format: double
          type: number
        amountRequested:
          description: "Derived from the Amount on the initial payment create, used to help storefront determine how much can be captured for multiple payments.\r\nSee Order.AmountRemainingForPayment for an example."
          format: double
          type: number
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        availableActions:
          description: Actions available to the payment
          items:
            type: string
          nullable: true
          type: array
        billingInfo:
          $ref: '#/components/schemas/CommerceRuntimeBillingInfo'
        changeMessages:
          description: Change messages related to the payment.
          items:
            $ref: '#/components/schemas/CommerceRuntimeChangeMessage'
          nullable: true
          type: array
        data:
          description: Custom data from payment providers
          nullable: true
          type: object
        externalTransactionId:
          description: >-
            The external/third party transaction Id for this payment. This is
            used to store the transaction Id from digital wallet like Visa
            Checkout
          nullable: true
          type: string
        gatewayGiftCard:
          $ref: '#/components/schemas/GatewayGiftCard'
        groupId:
          $ref: '#/components/schemas/PaymentActionTarget'
        id:
          description: Unique identifier of this order transaction.
          nullable: true
          type: string
        installmentPlanCode:
          description: >-
            Stores the Installment Plan code. Installment is only supported on
            subscription orders
          nullable: true
          type: string
        interactions:
          description: "List of intereactions for this transaction. A transaction is created upon authorization and lasts across the payment \r\ninterchange, which can consist of multiple interactions, such as consecutive captures."
          items:
            $ref: '#/components/schemas/PaymentInteraction'
          nullable: true
          type: array
        isRecurring:
          description: "If true, the product is purchased or fulfilled at regular intervals, for example, \r\nmonthly billing or a subscription. (Not currently supported.)"
          type: boolean
        orderId:
          description: >-
            Unique identifier of the order with which this transaction is
            associated.
          nullable: true
          type: string
        paymentServiceTransactionId:
          description: >-
            Unique identifier of the transaction, specified by the payment
            service processesing this transaction.
          nullable: true
          type: string
        paymentType:
          description: Type of Payment
          nullable: true
          type: string
        paymentWorkflow:
          description: >-
            The source of data for this payment.  By default, this will be set
            to 'mozu'
          nullable: true
          type: string
        status:
          description: >-
            Current status of this transaction which are described by the
            PaymentStatusConst class.
          nullable: true
          type: string
        subPayments:
          description: >-
            List of sub payments that correspond to child orders in case of
            multiship orders.
          items:
            $ref: '#/components/schemas/SubPayment'
          nullable: true
          type: array
      type: object
    CommerceRuntimePickup:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeCollectionOfPickupItem'
      description: Represents a pickup by a customer from a merchant.
      type: object
    CommerceRuntimeRefund:
      description: "Refund associated with an order. A refund is a single exchange of money from merchant to customer\r\nthat either encapsulates a refund to a credit card or an issuance of a store credit.\r\nA refund does not reduce the 'amount collected' on an order and it is possible for a refund to exceed the total order amount."
      properties:
        amount:
          description: Amount refunded.
          format: double
          type: number
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        id:
          description: Unique identifier of this order transaction.
          nullable: true
          type: string
        orderId:
          description: Unique identifier of the order with which this refund is associated.
          nullable: true
          type: string
        payment:
          $ref: '#/components/schemas/CommerceRuntimePayment'
        reason:
          description: Merchant-entered reason for this refund.
          nullable: true
          type: string
        reasonCode:
          nullable: true
          type: string
        refundMethod:
          description: Refund Method.
          nullable: true
          type: string
      type: object
    CommerceRuntimeShipment:
      properties:
        alternateContact:
          $ref: '#/components/schemas/FulfillmentAlternateContact'
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        backorderCreatedDate:
          format: int32
          nullable: true
          type: integer
        canceledItems:
          items:
            $ref: '#/components/schemas/CommerceRuntimeFulfillmentCanceledItem'
          nullable: true
          type: array
        changeMessages:
          items:
            $ref: '#/components/schemas/CommerceRuntimeChangeMessage'
          nullable: true
          type: array
        cost:
          format: double
          nullable: true
          type: number
        currencyCode:
          nullable: true
          type: string
        customer:
          $ref: '#/components/schemas/CommerceRuntimeCustomer'
        customerAccountId:
          format: int32
          nullable: true
          type: integer
        customerTaxId:
          nullable: true
          readOnly: true
          type: string
        data:
          nullable: true
          type: object
        destination:
          $ref: '#/components/schemas/CommerceRuntimeDestination'
        dutyAdjustment:
          format: double
          type: number
        dutyTotal:
          format: double
          type: number
        email:
          nullable: true
          type: string
        expectedDeliveryDate:
          format: date-time
          nullable: true
          type: string
        externalOrderId:
          nullable: true
          type: string
        externalShipmentId:
          nullable: true
          type: string
        fulfillmentDate:
          format: date-time
          nullable: true
          type: string
        fulfillmentLocationCode:
          nullable: true
          type: string
        fulfillmentStatus:
          nullable: true
          type: string
        futureDate:
          format: date-time
          nullable: true
          type: string
        handlingAdjustment:
          format: double
          type: number
        handlingSubtotal:
          format: double
          type: number
        handlingTaxAdjustment:
          format: double
          type: number
        handlingTaxTotal:
          format: double
          type: number
        handlingTotal:
          format: double
          type: number
        holdReleaseDate:
          format: date-time
          nullable: true
          type: string
        id:
          description: ID of the shipment
          nullable: true
          type: string
        isExpress:
          nullable: true
          type: boolean
        isFlatRateShipping:
          nullable: true
          type: boolean
        isTransfer:
          nullable: true
          type: boolean
        items:
          items:
            $ref: '#/components/schemas/CommerceRuntimeShipmentItem'
          nullable: true
          type: array
        lineItemSubtotal:
          format: double
          type: number
        lineItemTaxAdjustment:
          format: double
          type: number
        lineItemTaxTotal:
          format: double
          type: number
        lineItemTotal:
          format: double
          type: number
        number:
          format: int32
          nullable: true
          type: integer
        orderId:
          nullable: true
          type: string
        orderNumber:
          format: int32
          type: integer
        orderSubmitDate:
          format: date-time
          nullable: true
          type: string
        origin:
          $ref: '#/components/schemas/CommerceRuntimeContact'
        originalShipmentNumber:
          format: int32
          nullable: true
          type: integer
        packages:
          items:
            $ref: '#/components/schemas/CommerceRuntimePackage'
          nullable: true
          type: array
        parentCheckoutNumber:
          format: int32
          nullable: true
          type: integer
        parentShipmentNumber:
          format: int32
          nullable: true
          type: integer
        pickStatus:
          nullable: true
          type: string
        pickType:
          nullable: true
          type: string
        pickupInfo:
          nullable: true
          type: object
        readyToCapture:
          type: boolean
        shipmentAdjustment:
          format: double
          type: number
        shipmentNotes:
          items:
            $ref: '#/components/schemas/CommerceRuntimeShipmentNote'
          nullable: true
          type: array
        shipmentStatus:
          nullable: true
          type: string
        shipmentStatusReason:
          $ref: '#/components/schemas/CommerceRuntimeShipmentStatusReason'
        shipmentType:
          nullable: true
          type: string
        shippingAdjustment:
          format: double
          type: number
        shippingMethodCode:
          nullable: true
          type: string
        shippingMethodName:
          nullable: true
          type: string
        shippingSubtotal:
          format: double
          type: number
        shippingTaxAdjustment:
          format: double
          type: number
        shippingTaxTotal:
          format: double
          type: number
        shippingTotal:
          format: double
          type: number
        shopperNotes:
          $ref: '#/components/schemas/CommerceRuntimeFulfillmentShopperNotes'
        substitutedItems:
          items:
            $ref: '#/components/schemas/CommerceRuntimeSubstitutedItem'
          nullable: true
          type: array
        taxData:
          nullable: true
          type: object
        total:
          format: double
          type: number
        transferShipmentNumbers:
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        workflowProcessContainerId:
          nullable: true
          type: string
        workflowProcessId:
          nullable: true
          type: string
        workflowState:
          $ref: '#/components/schemas/CommerceRuntimeWorkflowState'
      type: object
    ShippingDiscount:
      description: Value of the shipping discount.
      properties:
        discount:
          $ref: '#/components/schemas/CommerceRuntimeAppliedDiscount'
        methodCode:
          description: Unique identifier of the shipping method discount.
          nullable: true
          type: string
      type: object
    CommerceRuntimeShippingGrouping:
      properties:
        fulfillmentMethod:
          description: The FulfillmentMethod used by items in this grouping.
          nullable: true
          type: string
        handlingDiscounts:
          items:
            $ref: '#/components/schemas/CommerceRuntimeAppliedDiscount'
          nullable: true
          type: array
        handlingTaxTotal:
          description: >-
            The total handling tax for this group, accounting for both
            group-level and item-level handling tax.
          format: double
          type: number
        handlingTotal:
          description: >-
            The total handling cost for this group, accounting for discounts and
            tax.
          format: double
          type: number
        id:
          description: A unique identifier for this grouping.
          nullable: true
          type: string
        orderItemIds:
          description: Identifiers of the items that make up this grouping.
          items:
            type: string
          nullable: true
          type: array
        shippingDiscounts:
          items:
            $ref: '#/components/schemas/ShippingDiscount'
          nullable: true
          type: array
        shippingMethodCode:
          description: >-
            Code that uniquely identifies the shipping method such as "Ground,"
            "Overnight".
          nullable: true
          type: string
        shippingMethodName:
          description: Readable name of the shipping method.
          nullable: true
          type: string
        shippingTaxTotal:
          description: >-
            The total shipping tax for this group, accounting for both
            group-level and item-level shipping tax.
          format: double
          type: number
        shippingTotal:
          description: >-
            The total shipping cost for this group, accounting for discounts and
            tax.
          format: double
          type: number
      type: object
    CommerceRuntimeShopperNotes:
      description: >-
        Notes that the shopper has added to this order, for example, a gift
        message or other comments.
      properties:
        comments:
          description: Comments associated with this order.
          nullable: true
          type: string
        deliveryInstructions:
          description: DeliveryInstructions associated with this order.
          nullable: true
          type: string
        giftMessage:
          description: Gift message associated with this order.
          nullable: true
          type: string
      type: object
    OrderValidationResult:
      description: The result of an order validator.
      properties:
        createdDate:
          description: DateTime that this validation result was created
          format: date-time
          nullable: true
          type: string
        messages:
          description: Messages returned by the order validator
          items:
            $ref: '#/components/schemas/OrderValidationMessage'
          nullable: true
          type: array
        status:
          description: >-
            Status of the order validation result.  See
            OrderValidatorStatusConst for options.
          nullable: true
          type: string
        validationId:
          description: >-
            Identifier set by the capability that states the id of this specific
            validation attempt
          nullable: true
          type: string
        validatorName:
          description: >-
            Identifier set by the capability that states the specific name of
            this validator.
          nullable: true
          type: string
        validatorType:
          description: >-
            Identifies the type of the validator (types are enumerated in
            OrderValidatorTypeConst)
          nullable: true
          type: string
      type: object
    AdminUserAuditInfo:
      properties:
        createBy:
          nullable: true
          type: string
        createDate:
          format: date-time
          nullable: true
          type: string
        updateBy:
          nullable: true
          type: string
        updateDate:
          format: date-time
          nullable: true
          type: string
      type: object
    CommerceRuntimeChangeMessage:
      description: >-
        A message displayed by the system based on the last  action, for
        example, when a product price has changed. System-supplied and
        read-only.
      properties:
        amount:
          deprecated: true
          description: Monetary amount that pertains to the change if applicable
          format: double
          nullable: true
          type: number
        appId:
          description: App Id that identifies the user that performed the related change
          nullable: true
          type: string
        appKey:
          description: App Key
          nullable: true
          type: string
        appName:
          description: App Name
          nullable: true
          type: string
        attributes:
          additionalProperties: {}
          description: Additional Data. This property will be a Dictionary of objects.
          nullable: true
          type: object
        correlationId:
          description: Correlation Id
          nullable: true
          type: string
        createDate:
          description: When the message was created. System-supplied. Read-only.
          format: date-time
          nullable: true
          type: string
        id:
          description: Unique identifier of the  message. System-supplied. Read-only.
          nullable: true
          type: string
        identifier:
          description: >-
            Unique identifier to what the message pertains, which can be a cart
            item, cart or another generic entity. System-supplied. Read-only.
          nullable: true
          type: string
        message:
          description: Human readable message. System-supplied. Read-only.
          nullable: true
          type: string
        metadata:
          description: >-
            Data. This property will be a JSON array that will contain 0-N
            items, when there is 1 item it will still be an array containing
            only one item. System-supplied. Read-only.
          nullable: true
        newValue:
          deprecated: true
          description: Current price of the item. System-supplied. Read-only.
          nullable: true
          type: string
        oldValue:
          deprecated: true
          description: Original price of the item. System-supplied. Read-only.
          nullable: true
          type: string
        subject:
          description: >-
            Text on the subject line of the message, for example, the product
            name. System-supplied. Read-only.
          nullable: true
          type: string
        subjectType:
          description: >-
            Subject of the message, for example, "Product." System-supplied.
            Read-only.
          nullable: true
          type: string
        success:
          description: Indicates if the message is related to a success or failure.
          nullable: true
          type: boolean
        userFirstName:
          description: User First Name
          nullable: true
          type: string
        userId:
          description: User Id that identifies the user that performed the related change
          nullable: true
          type: string
        userLastName:
          description: User Last Name
          nullable: true
          type: string
        userScopeType:
          description: User Type (e.g. Shopper, Admin, etc.)
          nullable: true
          type: string
        verb:
          description: "Action applicable to the message. This can be \"Increased,\" when the product price has increased, \"Decreased,\" when the \r\nproduct price has decreased, and \"Invalidated,\" when the product is no longer available. System-supplied. Read-only."
          nullable: true
          type: string
      type: object
    CommerceRuntimeThresholdMessage:
      properties:
        discountId:
          format: int32
          type: integer
        message:
          nullable: true
          type: string
        requiresCouponCode:
          type: boolean
        showInCart:
          type: boolean
        showOnCheckout:
          type: boolean
        thresholdValue:
          format: double
          type: number
      type: object
    ExtendedProperty:
      properties:
        key:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    FulfillmentInfo:
      description: "Shipment information, which includes the shipping address, price, estimated delivery date, tracking information, method (for example, Ground, Overnight, or Pick-up), \r\ncarrier (for example, USPS, UPS, FedEx), and current status (for example, Not Shipped, In Transit, Delayed, or Returned To Sender)."
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        data:
          description: Custom data originated by the shipping service.
          nullable: true
          type: object
        fulfillmentContact:
          $ref: '#/components/schemas/CommerceRuntimeContact'
        isDestinationCommercial:
          description: Indicates that the destination is commercial
          nullable: true
          type: boolean
        shippingMethodCode:
          description: "Code that uniquely identifies the shipping method such as \"Ground,\" \"Overnight,\" or \"Digital.\"\r\nThe site's shipping settings lists the valid shipping methods specified for this site."
          nullable: true
          type: string
        shippingMethodName:
          description: Readable name of the shipping method
          nullable: true
          type: string
      type: object
    SuggestedDiscount:
      properties:
        autoAdd:
          type: boolean
        discountId:
          format: int32
          type: integer
        hasMultipleProducts:
          type: boolean
        hasOptions:
          type: boolean
        productCode:
          nullable: true
          type: string
      type: object
    CommerceRuntimeContact:
      properties:
        address:
          $ref: '#/components/schemas/CommerceRuntimeAddress'
        companyOrOrganization:
          nullable: true
          type: string
        email:
          nullable: true
          type: string
        firstName:
          nullable: true
          type: string
        id:
          format: int32
          nullable: true
          type: integer
        lastNameOrSurname:
          nullable: true
          type: string
        middleNameOrInitial:
          nullable: true
          type: string
        phoneNumbers:
          $ref: '#/components/schemas/CommerceRuntimePhone'
      type: object
    CommerceRuntimePaymentCard:
      allOf:
        - $ref: '#/components/schemas/PaymentCardReference'
      description: "If the customer is paying by credit card, the card holder's details, such as the name on the card, number, billing \r\naddress, and expiration dates."
      properties:
        ccLastFour:
          description: "Last four digit of Credit card\r\nOnly for OMS Only tenant."
          nullable: true
          type: string
        isCardInfoSaved:
          description: If true, the card information is stored in the customer's account.
          type: boolean
        isTokenized:
          description: If true, the card is tokenized by external provider
          type: boolean
        isUsedRecurring:
          description: >-
            If true, the credit card is charged on a regular interval, such as
            for a subscription. (Not supported currently.)
          nullable: true
          type: boolean
        nameOnCard:
          description: Card holder's name as it appears on the card.
          nullable: true
          type: string
        paymentServiceCardId:
          description: Credit card number.
          nullable: true
          type: string
      type: object
    CheckPayment:
      properties:
        checkNumber:
          nullable: true
          type: string
      type: object
    PurchaseOrderPayment:
      description: Purchase order payment
      properties:
        customFields:
          description: Memo/custom fields
          items:
            $ref: '#/components/schemas/CommerceRuntimePurchaseOrderCustomField'
          nullable: true
          type: array
        paymentTerm:
          $ref: '#/components/schemas/CommerceRuntimePurchaseOrderPaymentTerm'
        purchaseOrderNumber:
          description: Purchase order number
          nullable: true
          type: string
      type: object
    PaymentToken:
      properties:
        paymentServiceTokenId:
          nullable: true
          type: string
        type:
          nullable: true
          type: string
      type: object
    GatewayGiftCard:
      properties:
        amount:
          format: double
          type: number
        cardNumber:
          nullable: true
          type: string
        cardPin:
          nullable: true
          type: string
        currencyCode:
          nullable: true
          type: string
        id:
          nullable: true
          type: string
      type: object
    CommerceRuntimeCollectionOfDigitalPackageItem:
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        availableActions:
          description: Actions that can be taken on this fulfillment unit
          items:
            type: string
          nullable: true
          type: array
        changeMessages:
          description: Change messages related to the fulfillment unit.
          items:
            $ref: '#/components/schemas/CommerceRuntimeChangeMessage'
          nullable: true
          type: array
        code:
          description: "A human-readable identifier for this fulfillment unit.  If not set on create, will be autogenerated as a string of the form\r\n    {fulfillmentUnitType} #{next available int}"
          nullable: true
          type: string
        fulfillmentDate:
          description: Date of the pickup
          format: date-time
          nullable: true
          type: string
        fulfillmentLocationCode:
          description: Location code from which to obtain this item
          nullable: true
          type: string
        id:
          description: ID of the fulfillment unit.
          nullable: true
          type: string
        items:
          description: List of items in the fulfillment unit
          items:
            $ref: '#/components/schemas/CommerceRuntimeDigitalPackageItem'
          nullable: true
          type: array
        status:
          description: "Status of the fulfillment unit\r\nSee FulfillmentStatusConst"
          nullable: true
          type: string
      type: object
    CommerceRuntimeDiscount:
      description: "Discounts that apply to the order, if any. For example, when the \r\nsubtotal of the order exceeds a certain amount, or for free shipping."
      properties:
        expirationDate:
          description: >-
            Date when the discount expires. Default is null (no expiration
            date).
          format: date-time
          nullable: true
          type: string
        hasMultipleTargetProducts:
          description: "Indicates that the discount targets more than a product.  Used\r\nprimarily for BoGa discounts with multiple targets."
          type: boolean
        id:
          description: Unique identifier of the discount.
          format: int32
          type: integer
        itemIds:
          description: List of discounts for each order item.
          items:
            type: string
          nullable: true
          type: array
        name:
          description: Name of the discount in the language specified by LocaleCode.
          nullable: true
          type: string
      type: object
    CommerceRuntimeCommerceItem:
      description: Base class for cart and order items
      properties:
        adjustedLineItemSubtotal:
          description: Order Level taxable sub total
          format: double
          nullable: true
          type: number
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        autoAddDiscountId:
          description: Track the discoutid from which the item was auto added
          format: int32
          nullable: true
          type: integer
        childItemIds:
          description: List of Child Item Ids for this order item
          items:
            type: string
          nullable: true
          type: array
        data:
          description: Custom data for a given vendor set within the commerce process.
          nullable: true
          type: object
        discountTotal:
          description: >-
            How much the shopper saves with the applied discount or sale price.
            This is a negative number.
          format: double
          nullable: true
          type: number
        discountedTotal:
          description: Subtotal minus any discounts.
          format: double
          nullable: true
          type: number
        dutyAmount:
          description: Indicate Duty Amount for this item.
          format: double
          nullable: true
          type: number
        extendedTotal:
          description: >-
            Line item extended total (quantity multiplied by unit extended
            price) before discounts.
          format: double
          nullable: true
          type: number
        feeTotal:
          description: Not implemented. Total cost of fees that apply to this item.
          format: double
          nullable: true
          type: number
        handlingAmount:
          description: Handling Amount for this item
          format: double
          nullable: true
          type: number
        inventoryTags:
          items:
            $ref: '#/components/schemas/InventoryTags'
          nullable: true
          type: array
        isAssemblyRequired:
          description: Assembly Required for this order item
          type: boolean
        isRecurring:
          description: >-
            If true, the cart item lists a product that can be purchased or
            fulfilled at regular intervals, for example, monthly billing or a
            subscription.
          nullable: true
          type: boolean
        isTaxable:
          description: Not implemented. If true, the cart item is eligible for tax.
          nullable: true
          type: boolean
        itemTaxTotal:
          description: Total price of taxes that apply to products in this item.
          format: double
          nullable: true
          type: number
        lineId:
          description: "The line id assigned to the order item. Visible only in the Admin, this is set from the Admin or\r\nin CommerceRuntime when a cart is converted to an order."
          format: int32
          nullable: true
          type: integer
        lineItemAdjustment:
          format: double
          nullable: true
          type: number
        localeCode:
          description: "Locale code for language that appears in text and descriptions on the site, for example, en_US. \r\nThis is not the currency code. Currently only en_US is supported."
          nullable: true
          type: string
        parentItemId:
          description: Indicates Parent Item Id for this order item
          nullable: true
          type: string
        product:
          $ref: '#/components/schemas/CommerceRuntimeProduct'
        productDiscount:
          $ref: '#/components/schemas/CommerceRuntimeAppliedLineItemProductDiscount'
        productDiscounts:
          description: A list of discounts applied to the product
          items:
            $ref: '#/components/schemas/CommerceRuntimeAppliedLineItemProductDiscount'
          nullable: true
          type: array
        purchaseLocation:
          description: "The location where the product is being purchased.. default is null. Products can have different prices\r\nby purchaseLocation via custom priceListResolution..."
          nullable: true
          type: string
        quantity:
          description: Number of products ordered.
          format: int32
          type: integer
        shippingAmountBeforeDiscountsAndAdjustments:
          description: Shipping amount before Discounts and adjustments
          format: double
          nullable: true
          type: number
        shippingDiscounts:
          description: A discount applied to the shipping
          items:
            $ref: >-
              #/components/schemas/CommerceRuntimeAppliedLineItemShippingDiscount
          nullable: true
          type: array
        shippingTaxTotal:
          description: Total price of taxes that apply to the shipping of this item.
          format: double
          nullable: true
          type: number
        shippingTotal:
          description: Total price of shipping that apply to this item.
          format: double
          nullable: true
          type: number
        substituteInfo:
          $ref: '#/components/schemas/SubstituteInfo'
        subtotal:
          description: Line item subtotal (quantity multiplied by price) before discounts.
          format: double
          nullable: true
          type: number
        taxData:
          description: Storage for any additional/custom tax data.
          nullable: true
          type: object
        taxableTotal:
          description: Line item subtotal (quantity multiplied by price) before discounts.
          format: double
          nullable: true
          type: number
        total:
          description: Total price of this cart item taking into account any discounts.
          format: double
          nullable: true
          type: number
        totalWithWeightedShippingAndHandling:
          description: >-
            Line item total with line item, Tax, Weighted Tax with Weighted
            shipping and handling costs
          format: double
          nullable: true
          type: number
        totalWithoutWeightedShippingAndHandling:
          description: Taxable Subtotal including Weighted Order amounts
          format: double
          nullable: true
          type: number
        unitPrice:
          $ref: '#/components/schemas/CommerceUnitPrice'
        weightedOrderAdjustment:
          description: Order Level Manual Adjustment applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderDiscount:
          description: Order Level Discount applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderDuty:
          description: Order Level Duty applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderHandlingAdjustment:
          description: Order level handling adjusment that applies to this item.
          format: double
          nullable: true
          type: number
        weightedOrderHandlingFee:
          description: Order Level handling fee applied to this item
          format: double
          nullable: true
          type: number
        weightedOrderHandlingFeeDiscount:
          description: Order Level handling fee discount applied to this item
          format: double
          nullable: true
          type: number
        weightedOrderHandlingFeeTax:
          description: Order Level handling fee tax applied to this item
          format: double
          nullable: true
          type: number
        weightedOrderShipping:
          description: Order Level Shipping applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderShippingDiscount:
          description: Order Level Shipping discount applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderShippingManualAdjustment:
          description: Order Level Shipping Manual Adjustment applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderShippingTax:
          description: Order Level Shipping Tax applied to this Item
          format: double
          nullable: true
          type: number
        weightedOrderTax:
          description: Order Level tax applied to this Item
          format: double
          nullable: true
          type: number
      type: object
    CommerceRuntimeDeliveryWindow:
      properties:
        endTime:
          description: End time for delivery window.
          format: date-time
          type: string
        startTime:
          description: Start time for delivery window.
          format: date-time
          type: string
      type: object
    GiftInfo:
      properties:
        giftMessage:
          description: Item level gift message
          nullable: true
          type: string
        isGiftItem:
          description: Flag to indicate whether the item is a gift item
          nullable: true
          type: boolean
      type: object
    ReturnRuleInfo:
      properties:
        isReturnable:
          description: Indicate product is returnable or not
          nullable: true
          type: boolean
        maxDays:
          description: Return window within which an item can be returned
          format: int32
          nullable: true
          type: integer
        maxQty:
          description: Maximum quantity that can be returned
          format: int32
          nullable: true
          type: integer
        ruleCode:
          description: Return rule code which is applied
          nullable: true
          type: string
      type: object
    SubscriptionInfo:
      properties:
        frequency:
          $ref: '#/components/schemas/Frequency'
        required:
          description: Indicates commerce item is subscribed or not.
          nullable: true
          type: boolean
        trial:
          $ref: '#/components/schemas/Trial'
      type: object
    Suggestion:
      properties:
        futureDate:
          description: Used for future inventory suggestions.
          format: date-time
          nullable: true
          type: string
        locationCode:
          description: Location Code
          nullable: true
          type: string
        productCode:
          description: Unique identifier for the product.
          nullable: true
          type: string
        quantity:
          description: Quantity
          format: int32
          type: integer
        suggestionType:
          description: Indicate whether suggestion is Transfer or Future.
          nullable: true
          type: string
        transferToLocationCode:
          description: >-
            Used in STH Consolidation, to indicate consolidation location on
            Transfer suggestion.
          nullable: true
          type: string
      type: object
    CommerceRuntimeCollectionOfPackageItem:
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        availableActions:
          description: Actions that can be taken on this fulfillment unit
          items:
            type: string
          nullable: true
          type: array
        changeMessages:
          description: Change messages related to the fulfillment unit.
          items:
            $ref: '#/components/schemas/CommerceRuntimeChangeMessage'
          nullable: true
          type: array
        code:
          description: "A human-readable identifier for this fulfillment unit.  If not set on create, will be autogenerated as a string of the form\r\n    {fulfillmentUnitType} #{next available int}"
          nullable: true
          type: string
        fulfillmentDate:
          description: Date of the pickup
          format: date-time
          nullable: true
          type: string
        fulfillmentLocationCode:
          description: Location code from which to obtain this item
          nullable: true
          type: string
        id:
          description: ID of the fulfillment unit.
          nullable: true
          type: string
        items:
          description: List of items in the fulfillment unit
          items:
            $ref: '#/components/schemas/CommerceRuntimePackageItem'
          nullable: true
          type: array
        status:
          description: "Status of the fulfillment unit\r\nSee FulfillmentStatusConst"
          nullable: true
          type: string
      type: object
    CommerceRuntimePackageMeasurements:
      description: >-
        Physical dimensions of the package required to ship the product and its
        weight.
      properties:
        height:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
        length:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
        weight:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
        width:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
      type: object
    CommerceRuntimePackingSlipItemDetail:
      properties:
        attributes:
          additionalProperties: {}
          description: Gets or Sets Attributes
          nullable: true
          type: object
        lineId:
          description: Gets or Sets LineId
          format: int32
          nullable: true
          type: integer
        originalOrderItemId:
          description: Gets or Sets OriginalOrderItemId
          nullable: true
          type: string
        quantity:
          description: Gets or Sets Quantity
          format: int32
          nullable: true
          type: integer
      type: object
    CommerceRuntimeTracking:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        number:
          nullable: true
          type: string
        url:
          nullable: true
          type: string
      type: object
    PaymentActionTarget:
      properties:
        targetId:
          description: The Id of the Checkout/Order/Return to target.
          nullable: true
          type: string
        targetNumber:
          description: The number of the Checkout/Order/Return to target.
          format: int32
          nullable: true
          type: integer
        targetType:
          description: >-
            Specifies if the
            Mozu.CommerceRuntime.Contracts.Payments.PaymentActionTarget.TargetId
            is a Checkout Id, Order Id, or Return Id.
          nullable: true
          type: string
      type: object
    PaymentInteraction:
      description: "A single interaction of a potential list of interactions for a transaction. The scope of the transaction is the entire payment\r\ninterchange. It is created upon authorization and is used for all subsequent interactions performed against the authorize,\r\nsuch as consecutive captures."
      properties:
        amount:
          description: Amount of funds associated with this interaction.
          format: double
          nullable: true
          type: number
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        capturableShipmentsSummary:
          description: >-
            Stores pairings of shipment number to shipment total for all
            captured shipments. This was added for generating TLogs.
          items:
            $ref: '#/components/schemas/CapturableShipmentSummary'
          nullable: true
          type: array
        checkNumber:
          description: If paying by check, the check number.
          nullable: true
          type: string
        currencyCode:
          description: >-
            ISO currency code for the transaction. Currently, only USD is
            supported.
          nullable: true
          type: string
        gatewayAVSCodes:
          description: Gateway AVS Codes. Supplied by PCIaaS.
          nullable: true
          type: string
        gatewayAuthCode:
          description: >-
            If required by the payment gateway, the authorization code of the
            transaction. Supplied by PCIaaS.
          nullable: true
          type: string
        gatewayCVV2Codes:
          description: Gateway CVV2 Codes. Supplied by PCIaaS.
          nullable: true
          type: string
        gatewayInteractionId:
          description: "Unique identifier of the gateway interaction. Used for credit card transactions, where the\r\npayment service creates a GatewayInteractionId for each transaction interaction."
          format: int32
          nullable: true
          type: integer
        gatewayResponseCode:
          description: Gateway response code. Supplied by PCIaaS.
          nullable: true
          type: string
        gatewayResponseData:
          description: >-
            A List of payment response data required to act on authorization
            when using external order management systems
          items:
            $ref: '#/components/schemas/PaymentGatewayResponseData'
          nullable: true
          type: array
        gatewayResponseText:
          description: Gateway response text. Supplied by PCIaaS.
          nullable: true
          type: string
        gatewayTransactionId:
          description: Unique identifier of the transaction supplied by PCIaaS.
          nullable: true
          type: string
        id:
          description: Unique identifier of this payment transaction interaction.
          nullable: true
          type: string
        interactionDate:
          description: Date the interaction occurred
          format: date-time
          nullable: true
          type: string
        interactionType:
          description: "Types of transaction interactions which can be \"Authorization,\" \"Capture,\" \"AuthorizeAndCapture,\"\r\n\"Void,\" or \"Credit,\" \"CheckRequested,\" or \"CheckReceived.\""
          nullable: true
          type: string
        isManual:
          description: If the payment is a manual payment, this is set to true
          type: boolean
        isPending:
          description: >-
            If true, indicates payment action is still pending and not yet
            confirmed.
          type: boolean
        isRecurring:
          description: >-
            If true, the product is purchased or fulfilled at regular intervals,
            for example, a monthly billing or a subscription. (Not currently
            implemented.)
          nullable: true
          type: boolean
        note:
          description: Note to be entered by merchant/application
          nullable: true
          type: string
        orderId:
          description: >-
            Unique identifier of the order with which this transaction is
            associated.
          nullable: true
          type: string
        paymentEntryStatus:
          description: Status of the payment when the transaction interaction was created
          nullable: true
          type: string
        paymentId:
          description: >-
            Unique identifier of the original transaction of which this current
            interaction is a part.
          nullable: true
          type: string
        paymentTransactionInteractionIdReference:
          description: "Unique identifier of previous PaymentTransactionInteraction that this PaymentTransactionInteraction is modifying.\r\nFor instance, when crediting a capture, set the PaymentTransactionInteractionIdReference to the capture PaymentTransactionInteractionID."
          format: int32
          nullable: true
          type: integer
        refundId:
          description: Refund Id, if the interaction is for a stand alone refund.
          nullable: true
          type: string
        returnId:
          description: Return Id, if the interaction is a Credit for a return-refund.
          nullable: true
          type: string
        status:
          description: >-
            Status of the payment transaction interaction which can be either
            "Success" or "Failure."
          nullable: true
          type: string
        target:
          $ref: '#/components/schemas/PaymentActionTarget'
      type: object
    SubPayment:
      properties:
        amountCollected:
          format: double
          type: number
        amountCredited:
          format: double
          type: number
        amountRefunded:
          format: double
          type: number
        amountRequested:
          format: double
          type: number
        status:
          nullable: true
          type: string
        target:
          $ref: '#/components/schemas/PaymentActionTarget'
      type: object
    CommerceRuntimeCollectionOfPickupItem:
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        availableActions:
          description: Actions that can be taken on this fulfillment unit
          items:
            type: string
          nullable: true
          type: array
        changeMessages:
          description: Change messages related to the fulfillment unit.
          items:
            $ref: '#/components/schemas/CommerceRuntimeChangeMessage'
          nullable: true
          type: array
        code:
          description: "A human-readable identifier for this fulfillment unit.  If not set on create, will be autogenerated as a string of the form\r\n    {fulfillmentUnitType} #{next available int}"
          nullable: true
          type: string
        fulfillmentDate:
          description: Date of the pickup
          format: date-time
          nullable: true
          type: string
        fulfillmentLocationCode:
          description: Location code from which to obtain this item
          nullable: true
          type: string
        id:
          description: ID of the fulfillment unit.
          nullable: true
          type: string
        items:
          description: List of items in the fulfillment unit
          items:
            $ref: '#/components/schemas/CommerceRuntimePickupItem'
          nullable: true
          type: array
        status:
          description: "Status of the fulfillment unit\r\nSee FulfillmentStatusConst"
          nullable: true
          type: string
      type: object
    FulfillmentAlternateContact:
      properties:
        email:
          description: Email Address of alternate contact during order process
          nullable: true
          type: string
        firstName:
          description: First Name of alternate contact during order process
          nullable: true
          type: string
        lastNameOrSurname:
          description: Last Name of alternate contact during order process
          nullable: true
          type: string
        phoneNumber:
          description: Phone Number of alternate contact during order process
          nullable: true
          type: string
      type: object
    CommerceRuntimeFulfillmentCanceledItem:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeShipmentItem'
      properties:
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        canceledReason:
          $ref: '#/components/schemas/CommerceRuntimeCanceledReason'
        originalQuantity:
          format: int32
          nullable: true
          type: integer
      type: object
    CommerceRuntimeCustomer:
      properties:
        customerContact:
          $ref: '#/components/schemas/CommerceRuntimeContact'
        data:
          description: Custom data
          nullable: true
        isDestinationCommercial:
          description: Destination Commercial Flag
          nullable: true
          type: boolean
      type: object
    CommerceRuntimeDestination:
      properties:
        data:
          description: Custom data
          nullable: true
          type: object
        destinationContact:
          $ref: '#/components/schemas/CommerceRuntimeContact'
        id:
          description: An identifier for this entry.
          nullable: true
          type: string
        isDestinationCommercial:
          description: Indicates that the destination is commercial
          nullable: true
          type: boolean
      type: object
    CommerceRuntimeShipmentItem:
      properties:
        actualPrice:
          format: double
          type: number
        allowsSubstitution:
          nullable: true
          type: boolean
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        backorderReleaseDate:
          format: date-time
          nullable: true
          type: string
        bundleInfo:
          $ref: '#/components/schemas/CommerceRuntimeBundleInfo'
        cartItemId:
          nullable: true
          type: string
        childItemIds:
          items:
            type: string
          nullable: true
          type: array
        condition:
          nullable: true
          type: string
        data:
          nullable: true
          type: object
        duty:
          format: double
          type: number
        expectedDeliveryDate:
          format: date-time
          nullable: true
          type: string
        fulfillmentFields:
          items:
            $ref: '#/components/schemas/CommerceRuntimeFulfillmentField'
          nullable: true
          type: array
        fulfillmentLocationCode:
          nullable: true
          type: string
        giftCards:
          items:
            $ref: '#/components/schemas/CommerceRuntimeGiftCard'
          nullable: true
          type: array
        giftMessage:
          description: Gift message for item
          nullable: true
          type: string
        handling:
          format: double
          type: number
        handlingDiscount:
          format: double
          type: number
        handlingTax:
          format: double
          type: number
        imageUrl:
          nullable: true
          type: string
        inventoryTags:
          items:
            $ref: '#/components/schemas/InventoryTags'
          nullable: true
          type: array
        isAssemblyRequired:
          nullable: true
          type: boolean
        isGift:
          description: Indicate item is gift or not
          nullable: true
          type: boolean
        isPackagedStandAlone:
          nullable: true
          type: boolean
        isReservedInventory:
          type: boolean
        isSubstitutable:
          nullable: true
          type: boolean
        isTaxable:
          type: boolean
        itemDiscount:
          format: double
          type: number
        itemTax:
          format: double
          type: number
        lineId:
          format: int32
          type: integer
        lineItemAdjustment:
          format: double
          nullable: true
          type: number
        lineItemCost:
          format: double
          type: number
        locatorName:
          nullable: true
          type: string
        measurements:
          $ref: '#/components/schemas/CommerceRuntimePackageMeasurements'
        name:
          nullable: true
          type: string
        optionAttributeFQN:
          nullable: true
          type: string
        options:
          items:
            $ref: '#/components/schemas/CommerceRuntimeProductOption'
          nullable: true
          type: array
        originalLineId:
          format: int32
          nullable: true
          type: integer
        originalOrderItemId:
          nullable: true
          type: string
        originalQuantity:
          format: int32
          nullable: true
          type: integer
        overridePrice:
          format: double
          nullable: true
          type: number
        parentId:
          nullable: true
          type: string
        parentItemId:
          nullable: true
          type: string
        partNumber:
          nullable: true
          type: string
        priceMode:
          description: >-
            Determines if the item is using external or internal(catalog)
            pricing
          nullable: true
          type: string
        productCode:
          nullable: true
          type: string
        purchaseLocation:
          nullable: true
          type: string
        quantity:
          format: int32
          type: integer
        readyForPickupQuantity:
          format: int32
          nullable: true
          type: integer
        returnRuleInfo:
          $ref: '#/components/schemas/ReturnRuleInfo'
        serialNumber:
          nullable: true
          type: string
        shipping:
          format: double
          type: number
        shippingDiscount:
          format: double
          type: number
        shippingTax:
          format: double
          type: number
        sku:
          nullable: true
          type: string
        substituteInfo:
          $ref: '#/components/schemas/SubstituteInfo'
        substituteQuantity:
          format: int32
          nullable: true
          type: integer
        substitutionType:
          nullable: true
          type: string
        taxData:
          nullable: true
          type: object
        taxableHandling:
          format: double
          type: number
        taxableLineItemCost:
          format: double
          type: number
        taxableShipping:
          format: double
          type: number
        unitPrice:
          format: double
          type: number
        upc:
          nullable: true
          type: string
        variationProductCode:
          nullable: true
          type: string
        weightedDutyAdjustment:
          format: double
          type: number
        weightedHandlingAdjustment:
          format: double
          type: number
        weightedHandlingTaxAdjustment:
          format: double
          type: number
        weightedLineItemTaxAdjustment:
          format: double
          type: number
        weightedShipmentAdjustment:
          format: double
          type: number
        weightedShippingAdjustment:
          format: double
          type: number
        weightedShippingTaxAdjustment:
          format: double
          type: number
      type: object
    CommerceRuntimeShipmentNote:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        noteId:
          nullable: true
          type: string
        noteText:
          nullable: true
          type: string
        role:
          nullable: true
          type: string
        username:
          nullable: true
          type: string
      type: object
    CommerceRuntimeShipmentStatusReason:
      properties:
        moreInfo:
          nullable: true
          type: string
        reasonCode:
          nullable: true
          type: string
      type: object
    CommerceRuntimeFulfillmentShopperNotes:
      properties:
        comments:
          nullable: true
          type: string
        deliveryInstructions:
          nullable: true
          type: string
        giftMessage:
          nullable: true
          type: string
      type: object
    CommerceRuntimeSubstitutedItem:
      properties:
        actualPrice:
          format: double
          nullable: true
          type: number
        allocatedQuantity:
          format: int32
          nullable: true
          type: integer
        allowsBackOrder:
          nullable: true
          type: boolean
        allowsFutureAllocate:
          nullable: true
          type: boolean
        allowsSubstitution:
          nullable: true
          type: boolean
        appeasementReason:
          $ref: '#/components/schemas/FulfillmentServiceAppeasementReason'
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        auditInfo:
          $ref: '#/components/schemas/FulfillmentServiceAuditInfo'
        autoSubstitution:
          nullable: true
          type: boolean
        backorderReleaseDate:
          format: date-time
          nullable: true
          type: string
        bundleInfo:
          $ref: '#/components/schemas/CommerceRuntimeFulfillmentServiceBundleInfo'
        cartItemId:
          nullable: true
          type: string
        childItemIds:
          items:
            type: string
          nullable: true
          type: array
        condition:
          nullable: true
          type: string
        creditCurrencyCode:
          nullable: true
          type: string
        creditValue:
          format: double
          nullable: true
          type: number
        data:
          additionalProperties: {}
          nullable: true
          type: object
        duty:
          format: double
          nullable: true
          type: number
        expectedDeliveryDate:
          format: date-time
          nullable: true
          type: string
        fulfillmentFields:
          items:
            $ref: '#/components/schemas/FulfillmentServiceFulfillmentField'
          nullable: true
          type: array
        giftCards:
          items:
            $ref: '#/components/schemas/FulfillmentServiceGiftCard'
          nullable: true
          type: array
        giftMessage:
          nullable: true
          type: string
        goodsType:
          nullable: true
          type: string
        handling:
          format: double
          nullable: true
          type: number
        handlingDiscount:
          format: double
          nullable: true
          type: number
        handlingTax:
          format: double
          nullable: true
          type: number
        height:
          format: double
          nullable: true
          type: number
        imageUrl:
          nullable: true
          type: string
        inventoryAllocations:
          items:
            $ref: '#/components/schemas/FulfillmentServiceInventoryAllocation'
          nullable: true
          type: array
        inventoryTags:
          items:
            $ref: '#/components/schemas/FulfillmentServiceInventoryTag'
          nullable: true
          type: array
        isAssemblyRequired:
          nullable: true
          type: boolean
        isGift:
          nullable: true
          type: boolean
        isPackagedStandAlone:
          nullable: true
          type: boolean
        isReservedInventory:
          nullable: true
          type: boolean
        isTaxable:
          nullable: true
          type: boolean
        itemDiscount:
          format: double
          nullable: true
          type: number
        itemTax:
          format: double
          nullable: true
          type: number
        length:
          format: double
          nullable: true
          type: number
        lineId:
          format: int32
          nullable: true
          type: integer
        lineItemAdjustment:
          format: double
          nullable: true
          type: number
        lineItemCost:
          format: double
          nullable: true
          type: number
        locatorName:
          nullable: true
          type: string
        manageStock:
          nullable: true
          type: boolean
        name:
          nullable: true
          type: string
        optionAttributeFQN:
          nullable: true
          type: string
        options:
          items:
            $ref: >-
              #/components/schemas/CommerceRuntimeFulfillmentServiceProductOption
          nullable: true
          type: array
        originalLineId:
          format: int32
          nullable: true
          type: integer
        originalOrderItemId:
          nullable: true
          type: string
        originalQuantity:
          format: int32
          nullable: true
          type: integer
        overridePrice:
          format: double
          nullable: true
          type: number
        parentItemId:
          nullable: true
          type: string
        partNumber:
          nullable: true
          type: string
        priceMode:
          nullable: true
          type: string
        productCode:
          nullable: true
          type: string
        purchaseLocation:
          nullable: true
          type: string
        quantity:
          format: int32
          nullable: true
          type: integer
        readyForPickupQuantity:
          format: int32
          nullable: true
          type: integer
        returnRuleInfo:
          $ref: '#/components/schemas/CommerceRuntimeFulfillmentServiceReturnRuleInfo'
        serialNumber:
          nullable: true
          type: string
        shipping:
          format: double
          nullable: true
          type: number
        shippingDiscount:
          format: double
          nullable: true
          type: number
        shippingTax:
          format: double
          nullable: true
          type: number
        sku:
          nullable: true
          type: string
        substituteInfo:
          $ref: '#/components/schemas/FulfillmentServiceSubstituteInfo'
        substituteItemLineIds:
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        substituteQuantity:
          format: int32
          nullable: true
          type: integer
        substituteReason:
          $ref: '#/components/schemas/FulfillmentServiceSubstituteReason'
        substitutionType:
          nullable: true
          type: string
        taxData:
          nullable: true
        taxableHandling:
          format: double
          nullable: true
          type: number
        taxableLineItemCost:
          format: double
          nullable: true
          type: number
        taxableShipping:
          format: double
          nullable: true
          type: number
        transferQuantity:
          format: int32
          nullable: true
          type: integer
        trueTransferQuantity:
          format: int32
          nullable: true
          type: integer
        unitPrice:
          format: double
          nullable: true
          type: number
        upc:
          nullable: true
          type: string
        variationProductCode:
          nullable: true
          type: string
        weight:
          format: double
          nullable: true
          type: number
        weightUnit:
          nullable: true
          type: string
        weightedDutyAdjustment:
          format: double
          nullable: true
          type: number
        weightedHandlingAdjustment:
          format: double
          nullable: true
          type: number
        weightedHandlingTaxAdjustment:
          format: double
          nullable: true
          type: number
        weightedLineItemTaxAdjustment:
          format: double
          nullable: true
          type: number
        weightedShipmentAdjustment:
          format: double
          nullable: true
          type: number
        weightedShippingAdjustment:
          format: double
          nullable: true
          type: number
        weightedShippingTaxAdjustment:
          format: double
          nullable: true
          type: number
        width:
          format: double
          nullable: true
          type: number
      type: object
    CommerceRuntimeWorkflowState:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        auditInfo:
          $ref: '#/components/schemas/AdminUserAuditInfo'
        completedDate:
          format: date-time
          nullable: true
          type: string
        processInstanceId:
          nullable: true
          type: string
        shipmentState:
          nullable: true
          type: string
        taskList:
          items:
            $ref: '#/components/schemas/CommerceRuntimeFulfillmentTask'
          nullable: true
          type: array
      type: object
    OrderValidationMessage:
      description: Validation message returned by an order validator.
      properties:
        message:
          description: Actual message returned by the validator.
          nullable: true
          type: string
        messageType:
          description: >-
            Identifier to indicate the type of the message, See
            OrderValidatorMessageTypeConst for options.
          nullable: true
          type: string
        orderItemId:
          description: Order item id that this message applies to.  Can be empty.
          nullable: true
          type: string
      type: object
    CommerceRuntimeAddress:
      properties:
        address1:
          nullable: true
          type: string
        address2:
          nullable: true
          type: string
        address3:
          nullable: true
          type: string
        address4:
          nullable: true
          type: string
        addressType:
          nullable: true
          type: string
        cityOrTown:
          nullable: true
          type: string
        countryCode:
          nullable: true
          type: string
        isValidated:
          nullable: true
          type: boolean
        postalOrZipCode:
          nullable: true
          type: string
        stateOrProvince:
          nullable: true
          type: string
      type: object
    CommerceRuntimePhone:
      properties:
        home:
          nullable: true
          type: string
        mobile:
          nullable: true
          type: string
        work:
          nullable: true
          type: string
      type: object
    PaymentCardReference:
      properties:
        bin:
          description: Year when the card expires.
          nullable: true
          type: string
        cardNumberPartOrMask:
          description: "The visible part of the card number that the merchant uses to refer to \r\npayment information, for example, the last for digits of the card number."
          nullable: true
          type: string
        expireMonth:
          description: Month when the card expires.
          format: int32
          type: integer
        expireYear:
          description: Year when the card expires.
          format: int32
          type: integer
        paymentOrCardType:
          description: Card type such as Visa, MasterCard, American Express, or Discover.
          nullable: true
          type: string
      type: object
    CommerceRuntimePurchaseOrderCustomField:
      properties:
        code:
          nullable: true
          type: string
        label:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    CommerceRuntimePurchaseOrderPaymentTerm:
      properties:
        code:
          nullable: true
          type: string
        description:
          nullable: true
          type: string
      type: object
    CommerceRuntimeDigitalPackageItem:
      allOf:
        - $ref: '#/components/schemas/AbstractFulfillmentItem'
      properties:
        giftCardCode:
          nullable: true
          type: string
      type: object
    CommerceRuntimeProduct:
      allOf:
        - $ref: '#/components/schemas/ProductBase'
      description: The product as it appears on the order item.
      properties:
        bundledProducts:
          description: >-
            Products bundled with this product (if the current product is a
            bundle)
          items:
            $ref: '#/components/schemas/CommerceRuntimeBundledProduct'
          nullable: true
          type: array
        categories:
          description: Categories to which this product belongs.
          items:
            $ref: '#/components/schemas/CommerceRuntimeCategory'
          nullable: true
          type: array
        condition:
          description: Condition
          nullable: true
          type: string
        discountsRestricted:
          description: Is the product discount restricted
          nullable: true
          type: boolean
        discountsRestrictedEndDate:
          description: Product discount restriction end date
          format: date-time
          nullable: true
          type: string
        discountsRestrictedStartDate:
          description: Product discount restriction start date
          format: date-time
          nullable: true
          type: string
        fulfillmentFields:
          description: List of unique product identifiers for an item on shipment
          items:
            $ref: '#/components/schemas/CommerceRuntimeFulfillmentField'
          nullable: true
          type: array
        fulfillmentTypesSupported:
          description: Types of fulfillment that are supported for this product.
          items:
            type: string
          nullable: true
          type: array
        imageAlternateText:
          description: >-
            Descriptive text of the image associated with the product in the
            language specified by LocaleCode.
          nullable: true
          type: string
        imageUrl:
          description: >-
            URL of the image that appears next to the product on the order item.
            Optional.
          nullable: true
          type: string
        isRecurring:
          description: >-
            If true, the product is purchased or fulfilled at regular intervals,
            for example, a monthly billing or a subscription.
          nullable: true
          type: boolean
        isTaxable:
          description: If true, the product is eligible for tax.
          nullable: true
          type: boolean
        mfgPartNumber:
          description: Manufacturing Part Number of the product.
          nullable: true
          type: string
        options:
          description: >-
            If the product contains configurable or stand-alone options, the
            list of product options that the shopper selected for this product.
          items:
            $ref: '#/components/schemas/CommerceRuntimeProductOption'
          nullable: true
          type: array
        price:
          $ref: '#/components/schemas/CommerceRuntimeProductPrice'
        productType:
          description: >-
            Type of product, which can be a product with configurable options, a
            product with stand-alone options, or a simple product with no
            options.
          nullable: true
          type: string
        productUsage:
          description: >-
            Usage of the product, primarily used to indicate a bundle in this
            context
          nullable: true
          type: string
        properties:
          description: >-
            If the product contains properties, the list of properties that the
            shopper selected for this product.
          items:
            $ref: '#/components/schemas/CommerceRuntimeProductProperty'
          nullable: true
          type: array
        serialNumber:
          description: Serial Number
          nullable: true
          type: string
        sku:
          description: Product Identifier specific to the store
          nullable: true
          type: string
        upc:
          description: Universal Product Code of the product.
          nullable: true
          type: string
        variationProductCode:
          description: >-
            For configurable products, the unique identifier of the product
            variation that has been selected.
          nullable: true
          type: string
      type: object
    CommerceRuntimeAppliedLineItemProductDiscount:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeAppliedProductDiscount'
      properties:
        appliesToSalePrice:
          description: Determines if the discount applies to the sale price of the order
          nullable: true
          type: boolean
        discountQuantity:
          description: >-
            The number of the line item that can be used for this particular
            discount.
          format: int32
          type: integer
      type: object
    CommerceRuntimeAppliedLineItemShippingDiscount:
      allOf:
        - $ref: '#/components/schemas/ShippingDiscount'
      properties:
        discount:
          $ref: '#/components/schemas/CommerceRuntimeAppliedDiscount'
        discountQuantity:
          description: >-
            The number of the line item that can be used for this particular
            discount.
          format: int32
          type: integer
        impactPerUnit:
          description: The impact of this discount pur discount quantity.
          format: double
          type: number
        methodCode:
          description: Unique identifier of the shipping method discount.
          nullable: true
          type: string
      type: object
    SubstituteInfo:
      properties:
        optIn:
          description: >-
            Determines if and when substitution is allowed. Allowed values are
            `None`, `Yes`, `No`, or `OnlyAtFulfillment`. Default is `None`.
          nullable: true
          type: string
        substituteProductCode:
          description: >-
            Allows user to provide a specific product that should be substituted
            if substitution occurs.
          nullable: true
          type: string
        substituteVariantCode:
          description: >-
            Allows user to provide a specific variant that should be substituted
            if substitution occurs.
          nullable: true
          type: string
      type: object
    CommerceUnitPrice:
      description: >-
        Pricing details for the product listed on a cart item, including the
        original price, discount amount, and final price.
      properties:
        extendedAmount:
          description: >-
            Extended amount, this is in order of precedence: OverrideAmount,
            SaleAmount, ListAmount
          format: double
          nullable: true
          type: number
        listAmount:
          description: Product list amount.
          format: double
          nullable: true
          type: number
        overrideAmount:
          description: Amount as manually overridden by the Merchant
          format: double
          nullable: true
          type: number
        saleAmount:
          description: Sale amount indicated on the product.
          format: double
          nullable: true
          type: number
      type: object
    Frequency:
      properties:
        unit:
          nullable: true
          type: string
        value:
          format: int32
          type: integer
      type: object
    Trial:
      properties:
        duration:
          description: Trial duration in days
          format: int32
          type: integer
        enabled:
          description: Indicates if the trial is enabled
          type: boolean
        substituteProductCode:
          description: Product code to substitute once the trial period is finished.
          nullable: true
          type: string
        substituteProductOptions:
          description: >-
            Configurable Options to substitute once the trial period is
            finished.
          items:
            $ref: '#/components/schemas/CommerceRuntimeProductOption'
          nullable: true
          type: array
        substituteProductQuantity:
          description: Product quantity to substitute once the trail period is finished.
          format: int32
          type: integer
        substituteVariationProductCode:
          description: >-
            Variation product code to substitute once the trail period is
            finished.
          nullable: true
          type: string
      type: object
    CommerceRuntimePackageItem:
      allOf:
        - $ref: '#/components/schemas/AbstractFulfillmentItem'
      description: An item in a package representing a particular product.
      type: object
    CommerceRuntimeMeasurement:
      properties:
        unit:
          nullable: true
          type: string
        value:
          format: double
          nullable: true
          type: number
      type: object
    CapturableShipmentSummary:
      properties:
        amountApplied:
          description: The amount applied by the payment action
          format: double
          type: number
        shipmentNumber:
          description: >-
            The identifying number of the shipment affected by the payment
            action
          format: int32
          type: integer
        shipmentTotal:
          description: The shipment's total when the payment action occurred
          format: double
          type: number
      type: object
    PaymentGatewayResponseData:
      description: Payment gateway response data
      properties:
        key:
          description: Key from payment gateway
          nullable: true
          type: string
        value:
          description: Value from payment gateway
          nullable: true
          type: string
      type: object
    CommerceRuntimePickupItem:
      allOf:
        - $ref: '#/components/schemas/AbstractFulfillmentItem'
      description: >-
        Item that goes into the pickup to determine which items will be picked
        up.
      type: object
    CommerceRuntimeCanceledReason:
      properties:
        description:
          nullable: true
          type: string
        moreInfo:
          nullable: true
          type: string
        reasonCode:
          nullable: true
          type: string
      type: object
    CommerceRuntimeBundleInfo:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        imageUrl:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        productCode:
          nullable: true
          type: string
        quantity:
          format: int32
          nullable: true
          type: integer
        unitPrice:
          format: double
          nullable: true
          type: number
      type: object
    CommerceRuntimeFulfillmentField:
      properties:
        name:
          nullable: true
          type: string
        required:
          type: boolean
        userEnteredValue:
          nullable: true
      type: object
    CommerceRuntimeGiftCard:
      properties:
        activationDate:
          format: date-time
          nullable: true
          type: string
        cardNumber:
          nullable: true
          type: string
        code:
          nullable: true
          type: string
        creditType:
          nullable: true
          type: string
        creditValue:
          format: double
          nullable: true
          type: number
        currencyCode:
          nullable: true
          type: string
        currentBalance:
          format: double
          nullable: true
          type: number
        customerId:
          format: int32
          nullable: true
          type: integer
        expirationDate:
          format: date-time
          nullable: true
          type: string
        initialBalance:
          format: double
          nullable: true
          type: number
      type: object
    CommerceRuntimeProductOption:
      description: "Product option for the product listed on this order item. If the product contains \r\nconfigurable or stand-alone options, this is a product option that the shopper has selected."
      properties:
        attributeFQN:
          description: Value of the product option.
          nullable: true
          type: string
        dataType:
          description: Value of the product option.
          nullable: true
          type: string
        name:
          description: >-
            Name of the product option that appears with the order item in the
            language specified by LocaleCode.
          nullable: true
          type: string
        shopperEnteredValue:
          description: >-
            The value entered by the shopper if this is an option that requires
            shopper input, for example, a monogram.
          nullable: true
        stringValue:
          description: Value of the product option.
          nullable: true
          type: string
        value:
          description: Value of the product option.
          nullable: true
      type: object
    FulfillmentServiceAppeasementReason:
      properties:
        moreInfo:
          nullable: true
          type: string
        reasonCode:
          nullable: true
          type: string
      type: object
    FulfillmentServiceAuditInfo:
      properties:
        createBy:
          nullable: true
          type: string
        createDate:
          format: date-time
          nullable: true
          type: string
        updateBy:
          nullable: true
          type: string
        updateDate:
          format: date-time
          nullable: true
          type: string
      type: object
    CommerceRuntimeFulfillmentServiceBundleInfo:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        imageUrl:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        productCode:
          nullable: true
          type: string
        quantity:
          format: int32
          nullable: true
          type: integer
        unitPrice:
          format: double
          nullable: true
          type: number
      type: object
    FulfillmentServiceFulfillmentField:
      properties:
        name:
          nullable: true
          type: string
        required:
          nullable: true
          type: boolean
        userEnteredValue:
          nullable: true
      type: object
    FulfillmentServiceGiftCard:
      properties:
        activationDate:
          format: date-time
          nullable: true
          type: string
        cardNumber:
          nullable: true
          type: string
        code:
          nullable: true
          type: string
        creditType:
          nullable: true
          type: string
        creditValue:
          format: double
          nullable: true
          type: number
        currencyCode:
          nullable: true
          type: string
        currentBalance:
          format: double
          nullable: true
          type: number
        customerId:
          format: int32
          nullable: true
          type: integer
        expirationDate:
          format: date-time
          nullable: true
          type: string
        initialBalance:
          format: double
          nullable: true
          type: number
      type: object
    FulfillmentServiceInventoryAllocation:
      properties:
        auditInfo:
          $ref: '#/components/schemas/FulfillmentServiceAuditInfo'
        condition:
          nullable: true
          type: string
        date:
          format: date-time
          nullable: true
          type: string
        fulfilledDate:
          format: date-time
          nullable: true
          type: string
        inventoryId:
          format: int32
          nullable: true
          type: integer
        lotCode:
          nullable: true
          type: string
        originalQuantity:
          format: int32
          nullable: true
          type: integer
        quantity:
          format: int32
          nullable: true
          type: integer
        serialNumber:
          nullable: true
          type: string
        sku:
          nullable: true
          type: string
        status:
          nullable: true
          type: string
      type: object
    FulfillmentServiceInventoryTag:
      properties:
        name:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    CommerceRuntimeFulfillmentServiceProductOption:
      properties:
        attributeFQN:
          nullable: true
          type: string
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        dataType:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        shopperEnteredValue:
          nullable: true
        stringValue:
          nullable: true
          type: string
        value:
          nullable: true
      type: object
    CommerceRuntimeFulfillmentServiceReturnRuleInfo:
      properties:
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        isReturnable:
          nullable: true
          type: boolean
        maxDays:
          format: int32
          nullable: true
          type: integer
        maxQty:
          format: int32
          nullable: true
          type: integer
        ruleCode:
          nullable: true
          type: string
      type: object
    FulfillmentServiceSubstituteInfo:
      properties:
        optIn:
          nullable: true
          type: string
        substituteProductCode:
          nullable: true
          type: string
        substituteVariantCode:
          nullable: true
          type: string
      type: object
    FulfillmentServiceSubstituteReason:
      properties:
        moreInfo:
          nullable: true
          type: string
        reasonCode:
          nullable: true
          type: string
      type: object
    CommerceRuntimeFulfillmentTask:
      properties:
        active:
          nullable: true
          type: boolean
        attributes:
          additionalProperties: {}
          nullable: true
          type: object
        completed:
          nullable: true
          type: boolean
        completedDate:
          format: date-time
          nullable: true
          type: string
        description:
          nullable: true
          type: string
        inputs:
          items:
            $ref: '#/components/schemas/CommerceRuntimeTaskInput'
          nullable: true
          type: array
        links:
          additionalProperties:
            $ref: '#/components/schemas/CommerceRuntimeLink'
          nullable: true
          type: object
        name:
          nullable: true
          type: string
        skippable:
          nullable: true
          type: boolean
        subject:
          nullable: true
          type: string
        taskId:
          nullable: true
          type: string
      type: object
    AbstractFulfillmentItem:
      properties:
        fulfillmentItemType:
          description: The type of fulfillment item
          nullable: true
          type: string
        lineId:
          description: The line id associated with the fulfillment.
          format: int32
          nullable: true
          type: integer
        optionAttributeFQN:
          nullable: true
          type: string
        productCode:
          description: Code of the Product to be fulfilled.
          nullable: true
          type: string
        quantity:
          description: Quantity of the order item
          format: int32
          type: integer
      type: object
    ProductBase:
      properties:
        allocationExpiration:
          description: Allocation ID associated with this product on this order.
          format: date-time
          nullable: true
          type: string
        allocationId:
          description: Allocation ID associated with this product on this order.
          format: int32
          nullable: true
          type: integer
        description:
          description: >-
            Short description of the product in the language specified by
            LocaleCode.
          nullable: true
          type: string
        fulfillmentStatus:
          description: Fulfillment status of the product.
          nullable: true
          type: string
        goodsType:
          description: Goods Type
          nullable: true
          type: string
        isPackagedStandAlone:
          description: Indicates that this product ships by itself.
          type: boolean
        measurements:
          $ref: '#/components/schemas/CommerceRuntimePackageMeasurements'
        name:
          description: >-
            Name of the product, this is the current value of the product's name
            in the language specified by LocaleCode.
          nullable: true
          type: string
        productCode:
          description: Merchant-created code that uniquely identifies the product.
          nullable: true
          type: string
        productReservationId:
          description: Reservation ID associated with this product in the bundle.
          format: int32
          nullable: true
          type: integer
        stock:
          $ref: '#/components/schemas/ProductStock'
      type: object
    CommerceRuntimeBundledProduct:
      allOf:
        - $ref: '#/components/schemas/ProductBase'
      description: Describes products that are bundled inside of a main bundle product.
      properties:
        creditValue:
          description: >-
            Credit value.  Only populated if the bundled product is a gift card
            or digital credit
          format: double
          nullable: true
          type: number
        deltaPrice:
          description: Only populated for extras
          format: double
          nullable: true
          type: number
        imageUrl:
          description: ImageUrl of product
          nullable: true
          type: string
        optionAttributeFQN:
          description: Fully Qualified Name of the selected option's attribute
          nullable: true
          type: string
        optionValue:
          description: Value of the selected option
          nullable: true
        quantity:
          description: Quantity of the product included in the bundle.
          format: int32
          type: integer
      type: object
    CommerceRuntimeCategory:
      description: >-
        Categories to which the product belongs. Discounts can apply to
        categories where any product in the category is discounted.
      properties:
        id:
          description: Unique identifier of the category. System-supplied and read-only.
          format: int32
          nullable: true
          type: integer
        parent:
          type: object
      type: object
    CommerceRuntimeProductPrice:
      description: Price of the product with any sale and discounts applied.
      properties:
        creditValue:
          description: >-
            Credit Value when the product happens to be a gift card or similar
            product
          format: double
          nullable: true
          type: number
        isOverRidePriceSalePrice:
          description: >-
            Indicate that External Price (TenantOverridePrice) is a Sale Price.
            And is used to calculate the line item discounts.
          nullable: true
          type: boolean
        msrp:
          description: MSRP of product.
          format: double
          nullable: true
          type: number
        price:
          description: >-
            Price of the product. This is the price that the merchant intends to
            sell the product if no sale price is present.
          format: double
          nullable: true
          type: number
        priceListCode:
          description: Pricelist code for the product
          nullable: true
          type: string
        priceListEntryMode:
          description: "Pricelist entry mode of the product.\r\nNote: possible values are below\r\n1. null : Product doesn't participate in pricelist\r\n2. Bulk : Bulk volume price available(unit price vary based on quantity)\r\n3. Simple:"
          nullable: true
          type: string
        salePrice:
          description: >-
            Current sale price of the product, which is a specific numerical
            amount (not a percentage off).
          format: double
          nullable: true
          type: number
        tenantOverridePrice:
          description: An override price applied on the product by the tenant.
          format: double
          nullable: true
          type: number
      type: object
    CommerceRuntimeProductProperty:
      properties:
        attributeFQN:
          nullable: true
          type: string
        dataType:
          nullable: true
          type: string
        isMultiValue:
          type: boolean
        name:
          nullable: true
          type: string
        values:
          items:
            $ref: '#/components/schemas/CommerceRuntimeProductPropertyValue'
          nullable: true
          type: array
      type: object
    CommerceRuntimeAppliedProductDiscount:
      allOf:
        - $ref: '#/components/schemas/CommerceRuntimeAppliedDiscount'
      description: Details of the discount applied to a product.
      properties:
        appliesToSalePrice:
          description: Determines if the discount applies to the sale price of the order
          nullable: true
          type: boolean
        impactPerUnit:
          deprecated: true
          description: >-
            Impact for a quantity of one product; that is, the value of the
            discount for one product.
          format: double
          nullable: true
          type: number
        productQuantity:
          deprecated: true
          description: >-
            Quantity of products priced. This is always one unless calculating
            pricing on the order or cart.
          format: int32
          nullable: true
          type: integer
      type: object
    CommerceRuntimeTaskInput:
      properties:
        helpMessage:
          nullable: true
          type: string
        label:
          nullable: true
          type: string
        maxLength:
          format: int32
          nullable: true
          type: integer
        maximum:
          format: double
          type: number
        minLength:
          format: int32
          nullable: true
          type: integer
        minimum:
          format: double
          type: number
        name:
          nullable: true
          type: string
        options:
          items: {}
          nullable: true
          type: array
        pattern:
          nullable: true
          type: string
        required:
          nullable: true
          type: boolean
        type:
          nullable: true
          type: string
      type: object
    CommerceRuntimeLink:
      properties:
        deprecation:
          nullable: true
          type: string
        href:
          nullable: true
          type: string
        hreflang:
          nullable: true
          type: string
        media:
          nullable: true
          type: string
        rel:
          nullable: true
          type: string
        templated:
          nullable: true
          type: boolean
        title:
          nullable: true
          type: string
        type:
          nullable: true
          type: string
      type: object
    ProductStock:
      properties:
        aggregateInventory:
          format: int32
          nullable: true
          type: integer
        availableDate:
          format: date-time
          nullable: true
          type: string
        availableFutureInventories:
          format: int32
          readOnly: true
          type: integer
        futureInventories:
          items:
            $ref: '#/components/schemas/CommerceRuntimeFutureInventory'
          nullable: true
          type: array
        isOnBackOrder:
          type: boolean
        isSubstitutable:
          nullable: true
          type: boolean
        manageStock:
          type: boolean
        stockAvailable:
          format: int32
          nullable: true
          type: integer
        totalAvailableStock:
          format: int32
          readOnly: true
          type: integer
      type: object
    CommerceRuntimeProductPropertyValue:
      properties:
        stringValue:
          nullable: true
          type: string
        value:
          nullable: true
      type: object
    CommerceRuntimeFutureInventory:
      properties:
        allocated:
          format: int32
          nullable: true
          type: integer
        available:
          format: int32
          nullable: true
          type: integer
        createDate:
          format: date-time
          nullable: true
          type: string
        deliveryDate:
          format: date-time
          nullable: true
          type: string
        futureInventoryID:
          format: int32
          nullable: true
          type: integer
        onhand:
          format: int32
          nullable: true
          type: integer
        pending:
          format: int32
          nullable: true
          type: integer
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      type: http

````