> ## 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.

# Release Call Off Order

> Release Call Off Order



## OpenAPI

````yaml /openapi/openapi_commerce.json post /commerce/callofforders/{callOffOrderId}/release
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/callofforders/{callOffOrderId}/release:
    post:
      tags:
        - CallOffOrder
      summary: Release Call Off Order
      description: Release Call Off Order
      parameters:
        - in: path
          name: callOffOrderId
          required: true
          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:
              $ref: '#/components/schemas/ReleaseCallOffOrderRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallOffOrder'
            text/json:
              schema:
                $ref: '#/components/schemas/CallOffOrder'
            text/plain:
              schema:
                $ref: '#/components/schemas/CallOffOrder'
          description: OK
components:
  schemas:
    ReleaseCallOffOrderRequest:
      description: Request payload for releasing a Call-Off Order.
      properties:
        itemIds:
          description: >-
            Optional list of item IDs to release. When null or empty, all
            eligible

            items on the order are released.
          items:
            type: string
          nullable: true
          type: array
      type: object
    CallOffOrder:
      description: >-
        A buyer's delivery request, either linked to a Blanket Order or
        standalone.
      properties:
        attributes:
          description: |-
            Custom attributes extending AbstractAttribute. Flows downstream to
            Sales Orders and Shipments in later phases.
          items:
            $ref: '#/components/schemas/CallOffOrderAttribute'
          nullable: true
          type: array
        auditInfo:
          $ref: '#/components/schemas/CoreApiContractsAuditInfo'
        availableActions:
          description: >-
            Actions valid for the current status. Computed on read; not
            persisted.
          items:
            type: string
          nullable: true
          type: array
        blanketOrderId:
          description: >-
            Identifier of the parent Blanket Order if this call-off draws from
            one;

            null for standalone call-offs.
          nullable: true
          type: string
        cancelledBy:
          description: User who cancelled the call-off order.
          nullable: true
          type: string
        cancelledDate:
          description: Cancellation timestamp.
          format: date-time
          nullable: true
          type: string
        cancelledReason:
          $ref: '#/components/schemas/CommerceRuntimeCanceledReason'
        changeMessages:
          description: >-
            Change messages describing mutations to this call-off order.

            Hydrated from a separate collection on read; not embedded on the
            document.
          items:
            $ref: '#/components/schemas/CallOffOrderChangeMessage'
          nullable: true
          type: array
        channelCode:
          description: Channel origin (e.g. "wholesale", "ecommerce", "EDI").
          nullable: true
          type: string
        completedAt:
          description: Timestamp when all lines reached terminal status.
          format: date-time
          nullable: true
          type: string
        creditHold:
          $ref: '#/components/schemas/CreditHoldStatus'
        currencyCode:
          description: >-
            Currency code (ISO 4217). Must match the parent Blanket Order
            currency

            when one is referenced.
          nullable: true
          type: string
        customerAccountId:
          description: B2B Account identifier. Must reference an active B2B account.
          format: int32
          nullable: true
          type: integer
        data:
          description: Vendor / extension custom data, free-form JSON.
          nullable: true
          type: object
        destinations:
          description: |-
            Shipping destinations. Items reference these by DestinationId
            (IDestinationContainer pattern).
          items:
            $ref: '#/components/schemas/CommerceRuntimeDestination'
          nullable: true
          type: array
        externalId:
          description: >-
            Buyer's own reference number / idempotency key (e.g. release number
            from

            an ERP). Unique per tenant when supplied.
          nullable: true
          type: string
        id:
          description: System-generated unique identifier (MozuObjectId).
          nullable: true
          type: string
        items:
          description: Requested product line items.
          items:
            $ref: '#/components/schemas/CallOffOrderItem'
          nullable: true
          type: array
        notes:
          description: Structured notes attached to the call-off order.
          items:
            $ref: '#/components/schemas/OrderNote'
          nullable: true
          type: array
        number:
          description: Human-readable sequential number, auto-generated per tenant.
          format: int32
          nullable: true
          type: integer
        payments:
          description: >-
            Optional payment(s) on this call-off order. Max 1 in v1
            (PurchaseOrder only).

            At release, each sibling Sales Order carries the same PO number and
            billing info,

            with Amount = that order's individual Total.
          items:
            $ref: '#/components/schemas/CallOffPayment'
          nullable: true
          type: array
        priceListCode:
          description: >-
            Resolved price list code locked at create. Null for External mode.

            Not body-settable — set by the service via price-list resolution.
            Immutable after create.
          nullable: true
          type: string
        pricingMode:
          description: >-
            Pricing mode: `Kibo` (default — prices resolved from catalog/price
            list) or

            `External` (caller-supplied prices stored as-is). Immutable after
            create.

            See Mozu.CommerceRuntime.Contracts.PricingModeConst.
          nullable: true
          type: string
        reservationId:
          description: |-
            Inventory reservation identifier. Set when inventory is reserved
            for this call-off order.
          nullable: true
          type: string
        siteId:
          description: Site identifier. Populated from the API context on read.
          format: int32
          type: integer
        status:
          description: |-
            Current call-off order status. One of: Hold, PartiallyReserved,
            PartiallyReleased, Completed, Cancelled.
          nullable: true
          type: string
        tenantId:
          description: Tenant identifier. Populated from the API context on read.
          format: int32
          type: integer
        totalAmount:
          description: >-
            Denormalized header total — sum of non-cancelled line LineTotal
            values.

            System-maintained; not client-settable.
          format: double
          type: number
        version:
          description: |-
            Optimistic locking version. Initialized to "1" and incremented as a
            string on each update.
          nullable: true
          type: string
      type: object
    CallOffOrderAttribute:
      description: |-
        Custom attribute for Call-Off Orders, following the same pattern
        as BlanketOrderAttribute and OrderAttribute.
      properties:
        attributeDefinitionId:
          format: int32
          nullable: true
          type: integer
        auditInfo:
          $ref: '#/components/schemas/CoreApiContractsAuditInfo'
        fullyQualifiedName:
          nullable: true
          type: string
        values:
          items: {}
          nullable: true
          type: array
      type: object
    CoreApiContractsAuditInfo:
      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
    CommerceRuntimeCanceledReason:
      allOf:
        - $ref: '#/components/schemas/Reason'
        - additionalProperties: false
          type: object
    CallOffOrderChangeMessage:
      description: Audit trail entry for Call-Off Order lifecycle events.
      properties:
        body:
          description: Human-readable description of what changed.
          nullable: true
          type: string
        callOffOrderId:
          description: Identifier of the parent call-off order this message belongs to.
          nullable: true
          type: string
        createBy:
          description: User who triggered the change.
          nullable: true
          type: string
        createDate:
          description: Timestamp when the change was recorded.
          format: date-time
          type: string
        id:
          description: System-generated change message identifier.
          nullable: true
          type: string
        identifier:
          description: |-
            Optional identifier of the specific sub-entity that changed
            (e.g. line id).
          nullable: true
          type: string
        newValue:
          description: New value when the change represents a single-field mutation.
          nullable: true
          type: string
        oldValue:
          description: Prior value when the change represents a single-field mutation.
          nullable: true
          type: string
        siteId:
          description: Site identifier.
          format: int32
          type: integer
        subject:
          description: Subject of the change (e.g. "status", "line.status").
          nullable: true
          type: string
        tenantId:
          description: Tenant identifier.
          format: int32
          type: integer
      type: object
    CreditHoldStatus:
      description: >-
        Header-level credit-hold state for a CallOffOrder. Replaces the per-item

        CreditHold + CreditHoldReason fields that lived on CallOffOrderItem
        prior

        to this change — credit-hold is a header concern (one decision per
        order)

        not a per-line concern.
      properties:
        onHold:
          description: True when the order is on credit hold.
          type: boolean
        reason:
          $ref: '#/components/schemas/CreditHoldReason'
      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
    CallOffOrderItem:
      description: A requested product quantity for delivery to a specific address.
      properties:
        actualDeliveryDate:
          description: >-
            Actual delivery date, recorded once the line has been physically
            delivered.
          format: date-time
          nullable: true
          type: string
        attributes:
          description: Line-level custom attributes extending AbstractAttribute.
          items:
            $ref: '#/components/schemas/CallOffOrderItemAttribute'
          nullable: true
          type: array
        blanketOrderItemId:
          description: |-
            Identifier of the Blanket Order item this item draws from. Required
            when the parent call-off references a Blanket Order.
          nullable: true
          type: string
        cancelledBy:
          description: User who cancelled this line.
          nullable: true
          type: string
        cancelledDate:
          description: Line cancellation timestamp.
          format: date-time
          nullable: true
          type: string
        cancelledReason:
          $ref: '#/components/schemas/CommerceRuntimeCanceledReason'
        destinationId:
          description: |-
            Identifier of the Destination in the parent call-off's Destinations
            collection that this line ships to.
          nullable: true
          type: string
        eddStatus:
          description: >-
            Lifecycle state of
            Mozu.CommerceRuntime.Contracts.CallOffOrders.CallOffOrderItem.ExpectedDeliveryDate:
            null until first calculated,

            "Provisional" while Hold/PartiallyReserved/FullyReserved, then
            locked to "Final"

            at release. Exposed as a string on this Contracts DTO (not the
            Domain-layer enum),

            matching this entity's existing convention for enum-backed fields
            (see FulfillmentType).
          nullable: true
          type: string
        expectedDeliveryDate:
          description: >-
            Expected delivery date, typically provided by the supplier or
            fulfillment system.
          format: date-time
          nullable: true
          type: string
        fillRate:
          description: Computed fill ratio (ReservedQty / RequestedQty). Phase 2+.
          format: double
          nullable: true
          type: number
        fulfillmentLocationCode:
          description: >-
            Pickup location code. Meaningful only when `FulfillmentType ==
            "Pickup"`;

            ignored for Ship / Digital / Curbside / Delivery (downstream Order

            Routing handles those). Carried into the SalesOrder created by the

            Release Rules Engine (spec 005 FR-021).
          nullable: true
          type: string
        fulfillmentType:
          description: >-
            Per-line fulfillment method. One of: Ship, Pickup, Digital,
            Curbside, Delivery.

            In a future release, CallOffOrderItem may extend
            FulfillableCommerceItem.
          nullable: true
          type: string
        id:
          description: System-generated item identifier.
          nullable: true
          type: string
        inventoryTags:
          description: |-
            Name-value pairs scoping the inventory pool for reservation. Set at
            item creation and immutable once a reservation exists.
          items:
            $ref: '#/components/schemas/InventoryTags'
          nullable: true
          type: array
        lineId:
          description: Sequential line identifier within the call-off, auto-assigned.
          format: int32
          nullable: true
          type: integer
        lineTotal:
          description: |-
            Total amount for this line. Client-supplied in Mode 1; computed in
            Mode 2.
          format: double
          nullable: true
          type: number
        product:
          $ref: '#/components/schemas/CallOffOrderProductReference'
        purchaseLocation:
          description: >-
            Purchase location (store/location code) captured from the request
            context at

            line creation. Used for catalog price resolution and carried to the
            released

            Sales Order. Immutable after create.
          nullable: true
          type: string
        releasedDate:
          description: Timestamp when this line was released to a Sales Order (Phase 3).
          format: date-time
          nullable: true
          type: string
        releasedQty:
          description: |-
            Quantity released to a Sales Order. Written in Phase 3; zero in
            Phases 1–2.
          format: int32
          type: integer
        requestedDeliveryDate:
          description: Buyer-requested delivery date for this line.
          format: date-time
          nullable: true
          type: string
        requestedQty:
          description: Buyer-requested quantity.
          format: int32
          type: integer
        requestedShipDate:
          description: >-
            Buyer-requested ship date. Must fall within the parent Blanket
            Order's

            validity period when a Blanket Order is referenced.
          format: date-time
          nullable: true
          type: string
        reservedQty:
          description: |-
            Quantity reserved by the inventory reservation engine.
            Written in Phase 2; zero in Phase 1.
          format: int32
          type: integer
        salesOrderId:
          description: |-
            The SalesOrder id this line was released into. Null until the line
            transitions to `Released` by the Release Rules Engine (spec 005).
            Immutable thereafter.
          nullable: true
          type: string
        status:
          description: |-
            Current line status. One of: Hold, PartiallyReserved, Released,
            Converted, Cancelled.
          nullable: true
          type: string
        timeFenceDays:
          description: >-
            Time-fence tolerance (days) from the ReservationRule that produced
            this line's most

            recent reservation delta (spec COM-10941 follow-up).
          format: int32
          nullable: true
          type: integer
        unitPrice:
          description: |-
            Per-line unit price. Overridable — may come from the Blanket Order,
            be client-supplied, or be buyer-negotiated.
          format: double
          nullable: true
          type: number
      type: object
    OrderNote:
      description: >-
        Internal notes that a merchant may add to the order. Maximum 250
        characters.
      properties:
        auditInfo:
          $ref: '#/components/schemas/CoreApiContractsAuditInfo'
        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.
          maxLength: 500
          nullable: false
          type: string
      type: object
    CallOffPayment:
      description: >-
        Optional payment commitment on a call-off order.

        v1 supports only PurchaseOrder payment type.

        At release, this payment is mapped onto each sibling Sales Order via

        `IPaymentHandler.CreatePaymentActionAsync` with Amount = that order's
        Total.
      properties:
        amount:
          description: >-
            Optional total authorization amount. Defaults to the call-off
            TotalAmount when null.

            Per-destination Sales Order payment uses that order's individual
            Total.
          format: double
          nullable: true
          type: number
        billingInfo:
          $ref: '#/components/schemas/BillingInfo'
        data:
          description: ERP / extensibility data bag.
          nullable: true
          type: object
        paymentTerms:
          description: >-
            Payment terms code (e.g. "Net30"). Optional; defaults to B2B account
            terms downstream.
          nullable: true
          type: string
        paymentType:
          description: >-
            Payment type — only `PurchaseOrder` is supported in v1.

            See
            Mozu.CommerceRuntime.Contracts.CallOffOrders.CallOffPayment.PaymentTypeConst.
          nullable: true
          type: string
        purchaseOrderNumber:
          description: >-
            Buyer's PO number. Required when
            Mozu.CommerceRuntime.Contracts.CallOffOrders.CallOffPayment.PaymentType
            is PurchaseOrder.
          nullable: true
          type: string
      type: object
    Reason:
      properties:
        description:
          nullable: true
          type: string
        moreInfo:
          nullable: true
          type: string
        reasonCode:
          nullable: true
          type: string
      type: object
    CreditHoldReason:
      allOf:
        - $ref: '#/components/schemas/Reason'
        - additionalProperties: false
          type: object
    CommerceRuntimeContact:
      properties:
        address:
          $ref: '#/components/schemas/CommerceRuntimeAddress'
        companyOrOrganization:
          nullable: true
          type: string
        email:
          format: 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
    CallOffOrderItemAttribute:
      description: >-
        Custom attribute for Call-Off Order line items, following the same
        pattern

        as CallOffOrderAttribute.
      properties:
        attributeDefinitionId:
          format: int32
          nullable: true
          type: integer
        auditInfo:
          $ref: '#/components/schemas/CoreApiContractsAuditInfo'
        fullyQualifiedName:
          nullable: true
          type: string
        values:
          items: {}
          nullable: true
          type: array
      type: object
    InventoryTags:
      properties:
        name:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    CallOffOrderProductReference:
      description: >-
        Lightweight product identity for Call-Off Order Items.

        Extended fields are stamped from the catalog at call-off creation (Kibo
        mode)

        and carried through to the released Sales Order, avoiding per-line
        catalog

        lookups at release time.
      properties:
        bundledProducts:
          description: >-
            Bundle component lines. Populated only when
            Mozu.CommerceRuntime.Contracts.CallOffOrders.ProductReference.ProductUsage
            is "Bundle".

            Stamped at create. Immutable.
          items:
            $ref: '#/components/schemas/CommerceRuntimeBundledProduct'
          nullable: true
          type: array
        combinedProductCode:
          description: >-
            Returns VariationProductCode if not null/whitespace, otherwise
            ProductCode.

            This value is computed on the domain model and mapped directly to
            the contract

            via Mapster convention-based mapping — no recalculation on the
            contract side.

            UI should use the items.product.combinedproductcode filter for
            variation-aware

            product searches instead of items.product.productcode.
          nullable: true
          type: string
        fulfillmentTypesSupported:
          description: >-
            Fulfillment types the product supports (e.g. "Shipping", "Pickup").
            Stamped from

            the catalog at call-off creation. Immutable.
          items:
            type: string
          nullable: true
          type: array
        goodsType:
          description: >-
            Goods type (e.g. "Physical", "Digital", "Service"). Routes shipment
            creation.

            Stamped at create. Immutable.
          nullable: true
          type: string
        name:
          description: Display name of the product.
          nullable: true
          type: string
        options:
          description: >-
            Configurable option selections for this variant. Stamped at create.
            Immutable.
          items:
            $ref: '#/components/schemas/CommerceRuntimeProductOption'
          nullable: true
          type: array
        productCode:
          description: |-
            Product code (SKU). Must match the Blanket Order line product when
            the parent call-off references a Blanket Order.
          nullable: true
          type: string
        productUsage:
          description: >-
            Product usage classification (e.g. "Bundle", "Standard"). Drives
            bundle line

            splitting at shipment creation. Stamped at create. Immutable.
          nullable: true
          type: string
        variationProductCode:
          description: >-
            Variation product code for the selected variant. Stamped at create.
            Immutable.
          nullable: true
          type: string
      type: object
    BillingInfo:
      description: >-
        Customer's payment details such as payment type (credit card, check by
        mail, or PayPal)

        and cardholder information if payment is by credit card.
      properties:
        auditInfo:
          $ref: '#/components/schemas/CoreApiContractsAuditInfo'
        billingContact:
          $ref: '#/components/schemas/CommerceRuntimeContact'
        card:
          $ref: '#/components/schemas/PaymentCard'
        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
        externalToken:
          $ref: '#/components/schemas/ExternalPaymentToken'
        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.

            see 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
            networkTransactionId for vantiv
            previousTransactionId 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
    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
          pattern: ^[A-Z]{2}$
          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
    CommerceRuntimeBundledProduct:
      description: Describes products that are bundled inside of a main bundle product.
      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
        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
        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
        imageUrl:
          description: ImageUrl of product
          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
        optionAttributeFQN:
          description: Fully Qualified Name of the selected option's attribute
          nullable: true
          type: string
        optionValue:
          description: Value of the selected option
          nullable: true
        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
        quantity:
          description: Quantity of the product included in the bundle.
          format: int32
          nullable: false
          type: integer
        stock:
          $ref: '#/components/schemas/ProductStock'
      type: object
    CommerceRuntimeProductOption:
      description: >-
        Product option for the product listed on this order item. If the product
        contains 

        configurable 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
    PaymentCard:
      description: >-
        If the customer is paying by credit card, the card holder's details,
        such as the name on the card, number, billing 

        address, and expiration dates.
      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 

            payment information, for example, the last for digits of the card
            number.
          nullable: true
          type: string
        ccLastFour:
          description: |-
            Last four digit of Credit card
            Only for OMS Only tenant.
          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
        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
        paymentOrCardType:
          description: Card type such as Visa, MasterCard, American Express, or Discover.
          nullable: true
          type: string
        paymentServiceCardId:
          description: Credit card number.
          nullable: true
          type: string
      type: object
    CheckPayment:
      properties:
        checkNumber:
          nullable: true
          type: string
      type: object
    ExternalPaymentToken:
      description: |-
        Structured payment token for external (non-Mozu) payment processors.

        Distinct from legacy PaymentToken (Apple Pay / PayPal).

        Used in COM-10873 externally tokenized payments feature.

        Validation rules:
        - All three fields (PaymentServiceTokenId, Type, Provider) are required
        - Type must match BillingInfo.PaymentType (case-insensitive)
        - Feature gate (externalTokenizationEnabled) must be true
      properties:
        paymentServiceTokenId:
          description: Actual token value from the external payment provider.
          nullable: true
          type: string
        provider:
          description: >-
            External token provider identifier (e.g., "Stripe", "Square",
            "PayPal").
          nullable: true
          type: string
        type:
          description: |-
            Payment method type (e.g., "CreditCard", "PayPal", "ApplePay").
            Must match BillingInfo.PaymentType exactly (case-insensitive).
          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
        provider:
          nullable: true
          type: string
        type:
          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
    ProductStock:
      properties:
        aggregateInventory:
          format: int32
          nullable: true
          type: integer
        availableDate:
          format: date-time
          nullable: true
          type: string
        availableFutureInventories:
          format: int32
          nullable: false
          readOnly: true
          type: integer
        futureInventories:
          items:
            $ref: '#/components/schemas/CommerceRuntimeFutureInventory'
          nullable: true
          type: array
        isOnBackOrder:
          nullable: false
          type: boolean
        isSubstitutable:
          nullable: true
          type: boolean
        manageStock:
          nullable: false
          type: boolean
        stockAvailable:
          format: int32
          nullable: true
          type: integer
        totalAvailableStock:
          format: int32
          nullable: false
          readOnly: true
          type: integer
      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
    CommerceRuntimeMeasurement:
      properties:
        unit:
          nullable: true
          type: string
        value:
          format: double
          nullable: true
          type: number
      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

````